Récupérer les données avec une liste déroulante pour les afficher dans un formulaire

Eléphanteau du PHP | 21 Messages

16 sept. 2020, 14:20

Bonjour,
j'espère que vous allez bien.

J'essaie d'afficher dynamiquement des données stockées dans une table sur la même pas à partir d'une liste déroulante, mais je n'y arrive pas :\

Il doit avoir des erreurs dans mon code comme j'ai ce message "Parse error: syntax error, unexpected '<' in C:\xampp\www\NRJ\XXXXX\formulaire_modification.php on line 42"

Code : Tout sélectionner

<fieldset> <FORM name="form1" method="post" action=""> <SELECT name='liste1' onchange="form1.submit();"> <Option value=-1> -- Choisissez -- </Option> <?php //session_start(); // Ici on continue la session require('control-session.php'); include("../inc/connexion_adou.php"); require("../inc/fonctions.php"); $query="select * from table_adoucisseurs ORDER BY adou_date desc"; $result=mysql_query($query) or die("requete impossible-$query"); while($adou = mysql_fetch_array($result)){ $date= $adou['ADOU_DATE']; $compteureau= $adou['ADOU_CPT']; $comptecepage= $adou['ADOU_CEPAGE']; $bac = $adou['ADOU_BAC']; $fpptar2001 = $adou['ADOU_FTC_PP_TAR2001']; $fpptar20041 = $adou['ADOU_FTC_PP_TAR2004_1']; $fpptar20042 = $adou['ADOU_FTC_PP_TAR2004_2']; $condutar2001 = $adou['ADOU_CONDUCTIVITE_TAR2001']; $condutar20041 = $adou['ADOU_CONDUCTIVITE_TAR2004_1']; $condutar20042 = $adou['ADOU_CONDUCTIVITE_TAR2004_2']; $consoa = $adou['ADOU_SEL_A']; $consob = $adou['ADOU_SEL_B']; $th = $adou['ADOU_TH']; $ftc = $adou['ADOU_FTC']; print (<option value='.$date.'); if($liste1=='.$date.') { print(selected); }//ça c'est pour garder la selection lors du réaffichage print ('.$date.'</option>); } ?>
Est-ce que vous auriez une idée du souci ??

Merci beaucoup pour votre aide
quaresma

Mammouth du PHP | 2703 Messages

16 sept. 2020, 14:54

à ces lignes, j'imagine :
print (<option value='.$date.');
print ('.$date.'</option>);
voir pour faire les choses correctement :
https://www.geeksforgeeks.org/concatena ... tring-php/

Eléphanteau du PHP | 21 Messages

16 sept. 2020, 15:25

Merci
Je n'ai plus l'erreur, par contre il n'y a rien dans la liste déroulante :\

Code : Tout sélectionner

<fieldset> <FORM name="form1" method="post" action=""> <SELECT name='liste1' onchange="form1.submit();"> <Option value=-1> -- Choisissez -- </Option> <?php //session_start(); // Ici on continue la session require('control-session.php'); include("../inc/connexion_adou.php"); require("../inc/fonctions.php"); $query="select * from table_adoucisseurs ORDER BY adou_date desc"; $result=mysql_query($query) or die("requete impossible-$query"); while($adou = mysql_fetch_array($result)){ $date= $adou['ADOU_DATE']; $compteureau= $adou['ADOU_CPT']; $comptecepage= $adou['ADOU_CEPAGE']; $bac = $adou['ADOU_BAC']; $fpptar2001 = $adou['ADOU_FTC_PP_TAR2001']; $fpptar20041 = $adou['ADOU_FTC_PP_TAR2004_1']; $fpptar20042 = $adou['ADOU_FTC_PP_TAR2004_2']; $condutar2001 = $adou['ADOU_CONDUCTIVITE_TAR2001']; $condutar20041 = $adou['ADOU_CONDUCTIVITE_TAR2004_1']; $condutar20042 = $adou['ADOU_CONDUCTIVITE_TAR2004_2']; $consoa = $adou['ADOU_SEL_A']; $consob = $adou['ADOU_SEL_B']; $th = $adou['ADOU_TH']; $ftc = $adou['ADOU_FTC']; echo "<option value=$date \n"; if($liste1==$date) { echo "selected"; }//ça c'est pour garder la selection lors du réaffichage echo "$date</option> \n"; } ?> </select> </FORM> <center> <table > <tr height='10px'> <td colspan="10" align="center"> <hr> </td> </tr> <tr > <td class='titre_li' > Date: </td> <td> <input type="text" class='cpt' id="date" value="<?php print($date);?>" > </td> </tr> <tr > <td class='titre_li' > Compteur eau: </td> <td> <input type="text" class='cpt' id="compteureau" value="<?php print($compteureau);?>" > </td> </tr> <tr > <td class='titre_li' > Compteur cepage: </td> <td> <input type="text" class='cpt' id="comptecepage" value="<?php print($comptecepage);?>" > </td> </tr> <tr > <td class='titre_li' > Niveau Bac: </td> <td> <input type="text" class='cpt' id="bac" value="<?php print($bac);?>" > </td> </tr> <tr > <td class='titre_li' > Fonctionnement PP </td> </tr> <tr > <td class='titre_li' > Tar 2001: </td> <td> <input type="text" class='cpt' id="fpptar2001" value="<?php print($fpptar2001);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 1: </td> <td> <input type="text" class='cpt' id="fpptar20041" value="<?php print($fpptar20041);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 2: </td> <td> <input type="text" class='cpt' id="fpptar20042" value="<?php print($fpptar20042);?>" > </td> </tr> <td class='titre_li' > Conductivite </td> </tr> <tr > <td class='titre_li' > Tar 2001: </td> <td> <input type="text" class='cpt' id="condutar2001" value="<?php print($condutar2001);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 1: </td> <td> <input type="text" class='cpt' id="condutar20041" value="<?php print($condutar20041);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 2: </td> <td> <input type="text" class='cpt' id="condutar20042" value="<?php print($condutar20042);?>" > </td> </tr> </tr> <td class='titre_li' > Consommation </td> </tr> <tr > <td class='titre_li' > Conso A: </td> <td> <input type="text" class='cpt' id="consoa" value="<?php print($consoa);?>" > </td> </tr> <tr > <td class='titre_li' > Conso B: </td> <td> <input type="text" class='cpt' id="consob" value="<?php print($consob);?>" > </td> </tr> </tr> <td class='titre_li' > Autres </td> </tr> <tr > <td class='titre_li' > TH: </td> <td> <input type="text" class='cpt' id="th" value="<?php print($th);?>" > </td> </tr> <tr > <td class='titre_li' > Adou A ou B: </td> <td> <input type="text" class='cpt' id="ftc" value="<?php print($ftc);?>" > </td> </tr> </table> </center> </fieldset>
Je précise que je vois bien les données dans le code source de la page au niveau du "Débogueur".

C'est bizarre parce que j'ai la liste avec le petit carré pour la faire défiler, mais elle est toute blanche oO

Mammouth du PHP | 2703 Messages

16 sept. 2020, 15:27

if($liste1==$date) {
echo "selected"; }//ça c'est pour garder la selection lors du réaffichage
echo "$date</option> \n";
}

c'est vraiment à cette condition qu'il faut faire :
echo "$date</option> \n";

Eléphanteau du PHP | 21 Messages

16 sept. 2020, 15:33

if($liste1==$date) {
echo "selected"; }//ça c'est pour garder la selection lors du réaffichage
echo "$date</option> \n";
}

c'est vraiment à cette condition qu'il faut faire :
echo "$date</option> \n";
Désolé, mais je n'ai pas compris ta réponse :\

Mammouth du PHP | 1967 Messages

17 sept. 2020, 10:55

regarde le code source généré par ton code,

tu verra que aucune balise option n'est fermé sauf si elle est "selected" il doit y avoir une erreur de logique dans la condition sus-mentionnée
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 21 Messages

17 sept. 2020, 13:57

En effet, je l'ai vu hier, mais j'ai oublié de vous tenir au courant :\

J'ai avancé un peu, mais savez-vous comment je pourrais faire pour que les champs se mettent à jour en fonction de la date choisie dans le menu déroulant ??

Code : Tout sélectionner

<fieldset> <FORM name="form1" method="post" action=""> <SELECT name='liste1' onchange="form1.submit();"> <Option value=-1> -- Choisissez -- </Option> <?php //session_start(); // Ici on continue la session require('control-session.php'); include("../inc/connexion_adou.php"); require("../inc/fonctions.php"); $query="select * from table_adoucisseurs ORDER BY adou_date desc"; $result=mysql_query($query) or die("requete impossible-$query"); while($adou = mysql_fetch_array($result)){ $date= $adou['ADOU_DATE']; $compteureau= $adou['ADOU_CPT']; $comptecepage= $adou['ADOU_CEPAGE']; $bac = $adou['ADOU_BAC']; $fpptar2001 = $adou['ADOU_FTC_PP_TAR2001']; $fpptar20041 = $adou['ADOU_FTC_PP_TAR2004_1']; $fpptar20042 = $adou['ADOU_FTC_PP_TAR2004_2']; $condutar2001 = $adou['ADOU_CONDUCTIVITE_TAR2001']; $condutar20041 = $adou['ADOU_CONDUCTIVITE_TAR2004_1']; $condutar20042 = $adou['ADOU_CONDUCTIVITE_TAR2004_2']; $consoa = $adou['ADOU_SEL_A']; $consob = $adou['ADOU_SEL_B']; $th = $adou['ADOU_TH']; $ftc = $adou['ADOU_FTC']; echo "<option value=$date \n>"; echo "$date</option> \n"; } ?> </select> </FORM> <?php $dateenvoyee=$_GET['$date']; $query="select * from table_adoucisseurs WHERE adou_date='$dateenvoyee' ORDER BY adou_date desc"; $result=mysql_query($query) or die("requete impossible-$query"); while($adou = mysql_fetch_array($result)){ $date= $adou['ADOU_DATE']; $compteureau= $adou['ADOU_CPT']; $comptecepage= $adou['ADOU_CEPAGE']; $bac = $adou['ADOU_BAC']; $fpptar2001 = $adou['ADOU_FTC_PP_TAR2001']; $fpptar20041 = $adou['ADOU_FTC_PP_TAR2004_1']; $fpptar20042 = $adou['ADOU_FTC_PP_TAR2004_2']; $condutar2001 = $adou['ADOU_CONDUCTIVITE_TAR2001']; $condutar20041 = $adou['ADOU_CONDUCTIVITE_TAR2004_1']; $condutar20042 = $adou['ADOU_CONDUCTIVITE_TAR2004_2']; $consoa = $adou['ADOU_SEL_A']; $consob = $adou['ADOU_SEL_B']; $th = $adou['ADOU_TH']; $ftc = $adou['ADOU_FTC']; } ?> <center> <table > <tr height='10px'> <td colspan="10" align="center"> <hr> </td> </tr> <tr > <td class='titre_li' > Date: </td> <td> <input type="text" class='cpt' id="date2" value="<?php print($date);?>" > </td> </tr> <tr > <td class='titre_li' > Compteur eau: </td> <td> <input type="text" class='cpt' id="compteureau" value="<?php print($compteureau);?>" > </td> </tr> <tr > <td class='titre_li' > Compteur cepage: </td> <td> <input type="text" class='cpt' id="comptecepage" value="<?php print($comptecepage);?>" > </td> </tr> <tr > <td class='titre_li' > Niveau Bac: </td> <td> <input type="text" class='cpt' id="bac" value="<?php print($bac);?>" > </td> </tr> <tr > <td class='titre_li' > Fonctionnement PP </td> </tr> <tr > <td class='titre_li' > Tar 2001: </td> <td> <input type="text" class='cpt' id="fpptar2001" value="<?php print($fpptar2001);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 1: </td> <td> <input type="text" class='cpt' id="fpptar20041" value="<?php print($fpptar20041);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 2: </td> <td> <input type="text" class='cpt' id="fpptar20042" value="<?php print($fpptar20042);?>" > </td> </tr> <td class='titre_li' > Conductivite </td> </tr> <tr > <td class='titre_li' > Tar 2001: </td> <td> <input type="text" class='cpt' id="condutar2001" value="<?php print($condutar2001);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 1: </td> <td> <input type="text" class='cpt' id="condutar20041" value="<?php print($condutar20041);?>" > </td> </tr> <tr > <td class='titre_li' > Tar 2004 2: </td> <td> <input type="text" class='cpt' id="condutar20042" value="<?php print($condutar20042);?>" > </td> </tr> </tr> <td class='titre_li' > Consommation </td> </tr> <tr > <td class='titre_li' > Conso A: </td> <td> <input type="text" class='cpt' id="consoa" value="<?php print($consoa);?>" > </td> </tr> <tr > <td class='titre_li' > Conso B: </td> <td> <input type="text" class='cpt' id="consob" value="<?php print($consob);?>" > </td> </tr> </tr> <td class='titre_li' > Autres </td> </tr> <tr > <td class='titre_li' > TH: </td> <td> <input type="text" class='cpt' id="th" value="<?php print($th);?>" > </td> </tr> <tr > <td class='titre_li' > Adou A ou B: </td> <td> <input type="text" class='cpt' id="ftc" value="<?php print($ftc);?>" > </td> </tr> </table> </center> </fieldset>