Message de base dans menu déroulant
Résolu/Fermé
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
-
29 juil. 2008 à 12:08
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 29 juil. 2008 à 14:34
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 29 juil. 2008 à 14:34
A voir également:
- Message de base dans menu déroulant
- Message - Guide
- Menu déroulant excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Excel menu déroulant en cascade - Guide
- Message d'absence thunderbird - Guide
6 réponses
Eldar57
Messages postés
46
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008
7
29 juil. 2008 à 13:29
29 juil. 2008 à 13:29
si je comrpend bien, tu veux ajouter en plus des dates de ta base, la date du jour même... c'est ça ?
si oui, il te faut créer une date par le biais de new Date()
ensuite de récupérer le jour et le mois et de les intégrer dans tes choix.
je vois un truc comme ça:
maDate = new Date();
<option value=maDate.getMonth()+"/"+maDate.getFullYear()>maDate.getMonth()+"/"+maDate.getFullYear()</option>
tu peux insérer ce choix avant ou après ton while ...
si oui, il te faut créer une date par le biais de new Date()
ensuite de récupérer le jour et le mois et de les intégrer dans tes choix.
je vois un truc comme ça:
maDate = new Date();
<option value=maDate.getMonth()+"/"+maDate.getFullYear()>maDate.getMonth()+"/"+maDate.getFullYear()</option>
tu peux insérer ce choix avant ou après ton while ...
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
9
29 juil. 2008 à 14:20
29 juil. 2008 à 14:20
Nein : j'ai une fonction affichage qui me montre un tableau avec des infos du type chiffre d'affaire de tel antenne sur tel mois de tel année, par défaut c'est le mois en cours, sinon c'est la date qu'on a choisit dans le menu déroulant.
Ce que je veux c'est que dans le menu déroulant s'affiche le mois et l'annee courant.
Par exemple là on est (encore un moment) le 07/2008, je veux que s'affiche dans le menu 07/2008 sans que j'ai à l'ouvrir (actuellement il affiche 0/0).
Ce que je veux c'est que dans le menu déroulant s'affiche le mois et l'annee courant.
Par exemple là on est (encore un moment) le 07/2008, je veux que s'affiche dans le menu 07/2008 sans que j'ai à l'ouvrir (actuellement il affiche 0/0).
Eldar57
Messages postés
46
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008
7
29 juil. 2008 à 14:26
29 juil. 2008 à 14:26
je dois mal comprendre ...
maDate = new Date() affecte à la variable la date du jour, donc la date courant.
ensuite pour récupérer le mois tu fais maDate.getMonth() et de la même façon pour année avec maDate.getFullYear() ...
maDate contiendra alors 29/07/2008
maDate.getMonth() te donnera 7
maDate.getFullYear() te donnera 2008
maDate = new Date() affecte à la variable la date du jour, donc la date courant.
ensuite pour récupérer le mois tu fais maDate.getMonth() et de la même façon pour année avec maDate.getFullYear() ...
maDate contiendra alors 29/07/2008
maDate.getMonth() te donnera 7
maDate.getFullYear() te donnera 2008
Ninja_En_Short
Messages postés
133
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 juin 2014
9
29 juil. 2008 à 14:30
29 juil. 2008 à 14:30
Le problème c'est que ce que tu montres permet d'avoir la valeur dans le menu, ça je le gère déjà avec la requête SQL. Le but du jeu c'est de faire en sorte que le menu déroulant reste caler sur la valeur du mois et de l'année affichés.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Eldar57
Messages postés
46
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008
7
29 juil. 2008 à 14:33
29 juil. 2008 à 14:33
ha oh ... j'avais pas compris alors ... désolé... en plus là, je vois pas ... encore plus désolé -_-'
Flohti
Messages postés
162
Date d'inscription
mercredi 25 juillet 2007
Statut
Membre
Dernière intervention
7 février 2010
15
29 juil. 2008 à 14:34
29 juil. 2008 à 14:34
Salut,
D'abord, je comprends pas pourquoi tu ouvres et fermes autant de fois tes balises php,
Ensuite, comme dit Eldar57, tu peux placer la date courante avant ou après ton while(le grand bien sûr, sinon tu le verras plusieurs fois), après j'ai moyennement compris ce qu'il faisait. Moi je fais comme ça :
Après je ne sais pas si tes dates récupérées seront antérieurs ou postérieurs, dans le cas où tu ais les deux, il faut mettre la partie en gras dans ta boucle après une condition dont tu seras sûr qu'elle n'est valable qu'une fois :
Normalement là, il n'y a même plus besoin de se soucier des dates de la bases.
Je n'ai pas testé ! Adapte si tu as besoin...
Pour ce qui est de l'ouverture et fermeture des balises php, moi je ne les ouvre et ferme qu'une fois en début et fin de script, je place ce que je vais afficher dans une variable que j'appelle souvent $html.
EDIT : il s'en est passé des choses^^, ben laisse ce que je t'ai dis, pour avoir la date courante "sélectionné" (en gros), un petit selected="selected" dans l'option ou tu as la date courante, ou alors un value="+la valeur de l'option de late courante+" au select, ou encore dernière solution, placer l'option de la date courante en premier (simplement).
<?php while($dataAn = odbc_fetch_array($res_annee)) { $query_mois = "SELECT DISTINCT MOIS FROM MLB.CHMDPTPF WHERE AN = ".$dataAn['AN'] . " ORDER BY CHMMOI"; $res_mois = odbc_exec($cnx,$query_mois); while($dataMois = odbc_fetch_array($res_mois)) { ?> <option value="<?php echo $dataMois['MOIS']; ?>/<?php echo $dataAn['AN']; ?>"> <?php echo $dataMois['MOIS']; ?> / <?php echo $dataAn['AN']; ?> </option> <?php } } ?>
D'abord, je comprends pas pourquoi tu ouvres et fermes autant de fois tes balises php,
Ensuite, comme dit Eldar57, tu peux placer la date courante avant ou après ton while(le grand bien sûr, sinon tu le verras plusieurs fois), après j'ai moyennement compris ce qu'il faisait. Moi je fais comme ça :
<?php $dateNow = date("m/Y"); // pour l'année petit "y" sur 2chiffres, grand "Y" sur 4; echo '<option value="'. $dateNow .'">'. $dateNow .'</option>'; while($dataAn = odbc_fetch_array($res_annee)) { $query_mois = "SELECT DISTINCT MOIS FROM MLB.CHMDPTPF WHERE AN = ".$dataAn['AN'] . " ORDER BY CHMMOI"; $res_mois = odbc_exec($cnx,$query_mois); while($dataMois = odbc_fetch_array($res_mois)) { echo '<option value="'. $dataMois['MOIS']; .'/'. $dataAn['AN']; .'">'. $dataMois['MOIS']; .'/'. $dataAn['AN']; .'</option>'; } } // ou tu peux mettre ta date courante ici; ?>
Après je ne sais pas si tes dates récupérées seront antérieurs ou postérieurs, dans le cas où tu ais les deux, il faut mettre la partie en gras dans ta boucle après une condition dont tu seras sûr qu'elle n'est valable qu'une fois :
<?php $datePrevMonth = 0; // initialisation d'une variable pour notre condition; $dateNowMonth = date("m"); // celui là, tu le laisse avant; $dateNowYear = date("Y"); // avec son p'tit frère, pour pouvoir tester; while($dataAn = odbc_fetch_array($res_annee)) { $query_mois = "SELECT DISTINCT MOIS FROM MLB.CHMDPTPF WHERE AN = ".$dataAn['AN'] . " ORDER BY CHMMOI"; $res_mois = odbc_exec($cnx,$query_mois); while($dataMois = odbc_fetch_array($res_mois)) { if ($dataAn['AN'] == $dateNowYear and $dateNowMonth < $dataMois['MOIS']) { // si on est dans la même année et si notre date se trouve avant celle de la base; if ($dateNowMonth > $datePrevMonth['MOIS']) { // cette condition pour être sûr qu'on ne redise pas ce qu'il y avait dans la base; echo '<option value="'. $dateNowMonth .'/'. $dateNowYear .'">'. $dateNowMonth .'/'. $dateNowYear .'</option>'; } $dateOk = true; // pour se rappeler qu'on est passé par là; } echo '<option value="'. $dataMois['MOIS']; .'/'. $dataAn['AN']; .'">'. $dataMois['MOIS']; .'/'. $dataAn['AN']; .'</option>'; $datePrevMonth = $dataMois['MOIS']; // sauvegarde du dernière } } if (!$dateOk) { // si on est pas passé par la condition, normalement toutes les dates sont antérieurs; echo '<option value="'. $dateNowMonth .'/'. $dateNowYear .'">'. $dateNowMonth .'/'. $dateNowYear .'</option>'; } ?>
Normalement là, il n'y a même plus besoin de se soucier des dates de la bases.
Je n'ai pas testé ! Adapte si tu as besoin...
Pour ce qui est de l'ouverture et fermeture des balises php, moi je ne les ouvre et ferme qu'une fois en début et fin de script, je place ce que je vais afficher dans une variable que j'appelle souvent $html.
EDIT : il s'en est passé des choses^^, ben laisse ce que je t'ai dis, pour avoir la date courante "sélectionné" (en gros), un petit selected="selected" dans l'option ou tu as la date courante, ou alors un value="+la valeur de l'option de late courante+" au select, ou encore dernière solution, placer l'option de la date courante en premier (simplement).