PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 05-04-2011 13:01:24

warrior
Membre
Inscription : 05-04-2011
Messages : 2

Charger une liste déroulante en PHP

Je veux faire donc un formulaire de réservation.
Je demande dans une liste déroulante en HTML le mois d'arriver.

<label for="mois">XXXXXX </label><br />
<select name="mois" id="mois">.....

Et je veux qu'en fonction du choix que l'utilisateur, une autre liste déroulante se charge avec le nombre de jour de ce même mois dedans.
Bien sûr s'il choisi Février il n'y aura que 28 jours dans cette liste déroulante, et vice versa avec les autres mois.
Bien sûr, le nombre de jours de chaque moi est dans un "array" en PHP.

Sauf que je n'y arrive pas, ma prof me dis de mêler du PHP avec l'HTML, sauf que je ne comprend pas comment on peut charger une liste déroulante qui proviens d'HTML avec du PHP.

Si vous avez des questions, que je ne suis pas assez clair, dites le moi !

Merci !

Hors ligne

#2 05-04-2011 13:26:06

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Charger une liste déroulante en PHP

Saluton,
Si tu veux rendre cela interactif il faut peut-être passer à AJAX.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 05-04-2011 13:31:30

warrior
Membre
Inscription : 05-04-2011
Messages : 2

Re : Charger une liste déroulante en PHP

Ma prof,  ma dis que je pouvais charger ma liste déroulante avec du PHP, avec un for, mais je ne vois pas trop comment faire ...

Hors ligne

#4 05-04-2011 18:24:09

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Charger une liste déroulante en PHP

Ah bah alors si ta prof l'a dit....

Bon sérieusement, une fois que la page générée par PHP est envoyée au navigateur par le serveur Apache (HTTP),  PHP ne peut plus intervenir.
Donc lorsque l'on fait un choix dans la liste, donc côté navigateur client, soit on soumet à nouveau le formulaire au serveur HTTP pour qu'il puisse construire l'autre liste en fonction du choix du mois, soit on intercepte, via javascript l'événement onchange de la liste "mois", et on passe par l'objet javascript XHR (XMLHTTPREQUEST) pour invoquer un script PHP qui construira dynamiquement la liste que javascript pourra insérer dans la page via innerhtml.
Mais cette dernière méthode est typiquement une illustration de la technologie AJAX, je ne peux même pas supposer que ta prof ignore cela.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 06-04-2011 06:22:13

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Charger une liste déroulante en PHP

Pour la suite, quand tu auras éclairci le contexte, je te propose cette petite fonction

<?php
function selectjour($bissextile,$moisSelectionné)
    {
    if($bissextile){
        $mois=array(0,31,29,31,30,31,30,31,31,30,31,30,31);
        }
    else{
        $mois=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
        }
    $jours=range(1,$mois[$moisSelectionné]);
    $select=sprintf('<select name="jour" id="jour" size="1">%s',"\n");
    foreach($jours as $jour){
        $select.=sprintf("\t<option>%s</option>\n",$jour);
        }
    $select.="<select>\n";
    return $select;
    }

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums