PHP, MySQL et liste déroulante

SNY77 Messages postés 5 Statut Membre -  
 SNY77 -
Bonjour, je dois realiser une page WEB qui demande une référence et affiche les dates correspondantes au test réalisés dans un menu déroulant (ça fonctionne).
Je voudrais ensuite extraire cette date afin de réaliser une autre requête SQL, mais je n'y arrive pas (j'ai penser au bouton envoyer, ca ne donne rien ...).
Merci beaucoup !!!
ps : le code fonctionne jusqu'à la ligne 48 (ce qui est en gras fonctionne...), en gros, je veux récupérer la valeur date choisit par l'utilisateur dans le menu déroulant.

    <FORM method=post action="site.php">   
    <h3><u>Choisir la réference afin d'afficher les dates des tests réalisés : :</u></h3>   
    <TABLE BORDER=5>   
    <TR>   
    <TD>Entrez la réference</TD>   
    <TD>   
    <INPUT type=int name="reference">   
    </TD>   
    </TR>   
    <TR>   
    <TD COLSPAN=2>   
    <INPUT type="submit" value="Envoyer">   
    </TD>   
    </TR>   
    </TABLE>   
    </FORM>   
    <?php   
    // Connexion à la BDD :   
    $db = mysql_connect('127.0.0.1', 'root', '1234');  // 1   
    mysql_select_db('bdd',$db);   
    ?>   
    <?php   
    // On récupère la valeur de la reference :   
    $reference = $_POST['reference'];   
    ?>   
    <?php   
    // On lance la requete SQL suivante afin d'afficher les dates correspondantes dans     une liste déroulante aux tests réalisés :   
    $recherche = "SELECT date FROM tableref WHERE reference='$reference'";   
    $result = mysql_query($recherche) ?>   
    Date: <select size="1" name="date">   
    <?php   
    // On affiche les dates dans une liste déroulante :   
    while ($row=mysql_fetch_array($result))   
    {   
    ?>   
    <OPTION><?php echo $row['date']; ?></OPTION>   
    <?php   
    }   
    ?>   
 Récupération de la date (ça ne marche pas)
    <?   
    $date=$_post['date'];   
    ?>   
    <? echo $date; ?>   
    <?   
    // On ferme la BDD :   
    mysql_close($db);   
    ?>   

merci...
A voir également:

11 réponses

maka54 Messages postés 721 Statut Membre 80
 
tu n 'as pas de champ date dans ton formulaire
0
SNY77 Messages postés 5 Statut Membre
 
le champs date est dans la liste déroulante qui extrait les dates de la BDD en fonction du n°reference.
0
SNY77 Messages postés 5 Statut Membre
 
j'ai essayer ca mais ca me donne rien (dans la liste j'ai qu'une ligne ou sont affichés toutes la dates, la condition est cepandant respectée).
Je voudrais que les dates soient affichés sur plusieurs ligne et pouvoir récuperer la date selectionnée.
    // On récupère les valeurs de nos variables :
    $dut_serialnumber = $_POST['dut_serialnumber'];
    ?>
    <?php
    $recherche = ("SELECT date_start FROM dut_test_data WHERE dut_serialnumber='$dut_serialnumber'" ) ;
    $result = mysql_query($recherche) ?>
    <FORM method=post action="site2.php">
    Date: <select size="1" name="date_start" >
    <OPTION><?php
    while ($row=mysql_fetch_array($result))
    {
    echo $row['date_start'];} ?>
    </OPTION>
    </select>
    <INPUT type="submit" value="Envoyer2">
    </FORM>

Merci beaucoup de votre aide !!!
0
maka54 Messages postés 721 Statut Membre 80
 
<OPTION><?php
    while ($row=mysql_fetch_array($result))
    {
    echo $row['date_start'];} ?>
    </OPTION>


c'est faux, tes balises option doivent etre dans la boucle while
0
SNY77
 
OK merci, ca donne ça :
<FORM method=post action="site2.php">

Date: <select name='date_start'  >
<?php 
while($row = mysql_fetch_array($result)) {
   echo '<option>', $row['date_start'], '</option>';
}
?>
</select>
<INPUT type="submit" value="Envoyer2">
</FORM>

Maintenant, je voudrais récuperer la date sélectionnée par l'utilisateur mais ça ne fonctionne pas ? Parce que en fait j'ai déjà un 1er formulaire qui demande un numéro de série en ensuite on a accès aux dates correspondantes.
Quand je clic sur envoyer 2 (pour la date), j'ai une erreur comme quoi le champs numero de serie n'a pas été renseigné !
Merci beaucoup!
0
maka54 Messages postés 721 Statut Membre 80
 
<FORM method=post action="site2.php">
<INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">   
Date: <select name='date_start'  >
<?php 
while($row = mysql_fetch_array($result)) {
   echo '<option>', $row['date_start'], '</option>';
}
?>
</select>
<INPUT type="submit" value="Envoyer2">
</FORM>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SNY77
 
Quand j'appuie sur le 2eme ENVOYER j'ai plus d'erreur , je vais voir si je peux recuperer la date choisie.
Merci
0
maka54 Messages postés 721 Statut Membre 80
 
ajoute un champ hidden name ="reference" dans le second formulaire à envoyer

<INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">   
0
SNY77
 
<FORM method=post action="site2d.php">
<INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">   
Date: <select name='date_start'  >
<?php 
while($row = mysql_fetch_array($result)) {
   echo '<option>', $row['date'], '</option>';
}
?>
</select>
<INPUT type="submit" value="Envoyer2">
</FORM>
<?
$date_start = $_POST['date'];
 echo $date; ?> 

Je n'arrive pas à recuperer la date de la liste déroulante, je demande l'affichage de la variable date mais je n'ai rien ?
Merci.
0
SNY77 Messages postés 5 Statut Membre
 
<FORM method=post action="site2d.php"> 
<INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">    
Date: <select name='date_start'  > 
<?php  
while($row = mysql_fetch_array($result)) { 
   echo '<option>', $row['date'], '</option>'; 
} 
?> 
</select> 
<INPUT type="submit" value="Envoyer2"> 
</FORM> 
<? 
$date = $_POST['date']; 
 echo $date; ?>  



Je n'arrive pas à recuperer la date de la liste déroulante, je demande l'affichage de la variable date mais je n'ai rien ?
Merci.
0
maka54 Messages postés 721 Statut Membre 80
 
le nom du champ est date_start
0
SNY77 Messages postés 5 Statut Membre
 
<FORM method=post action="site2d.php"> 
<INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">    
Date: <select name='date_start'  > 
<?php  
while($row = mysql_fetch_array($result)) { 
   echo '<option>', $row['date_start'], '</option>'; 
} 
?> 
</select> 
<INPUT type="submit" value="Envoyer2"> 
</FORM> 
<? 
$date_start = $_POST['date_start']; 
 echo $date_start; ?> 

Oui, parcontre je n'arrive toujours pas à recuperer la date. J'ai aussi remarqué qu'en appuyant sur ENVOYER2, je reviens à la 1ère date (même si je selectionne les suivantes)!
MERCI.
0
SNY77
 
personne ne peut m'aider (je galère dessus depuis longtemps !)
MERCI BEAUCOUP !!!
0
SNY77
 
    $dut_serialnumber = $_POST['dut_serialnumber'];
    ?>
    <?php
    $recherche = ("SELECT date_start FROM dut_test_data WHERE dut_serialnumber='$dut_serialnumber'" ) ;
    $result = mysql_query($recherche) ?>
    <FORM method=post action="site2d.php">
    <INPUT type="hidden" name="dut_serialnumber" value="<?php echo  $dut_serialnumber; ?>"> 
    print_r($_POST);
    Date: <select name='date_start'  >
    <?php
    while($row = mysql_fetch_assoc($result)) {
       $isSelected = ($row['date_start'] === $_POST['date_start']) ? ' selected="selected"' : null;
       echo '<option value="', $row['date_start'], '"', $isSelected, '>', $row['date_start'], '</option>';
    } ?>
    <INPUT type="submit" value="Envoyer">
    </FORM>
    <?
    $date_start = $_POST['date_start'];
    echo $date_start; ?>
    <? echo $_POST['date_start']; ?>

Après le 1er ENVOYER j'ai : (remplissage du champs dut_serialnumber puis appuie sur envoyer)
Array ( [dut_serialnumber] => tx081 [date_start]

Après le 2ème ENVOYER j'ai : (liste déroulante avec les dates affichées en fonction du serial_number, ca fonctionne bien)
Array ( [dut_serialnumber] => tx081 [date_start] => 2011-07-07 13:31:00 )
--> Cela prouve que j'envoie bien la date que je sélectionne ? Je n'arrive pas cepandant à récuperer la valeur de la date sélectionnée .... !
MERCI ...
0