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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer les données avec une liste déroulante pour les afficher dans un formulaire

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

par quaresma » 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>

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

par Spols » 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

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

par quaresma » 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 :\

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

par or 1 » 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";

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

par quaresma » 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

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

par or 1 » 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/

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

par quaresma » 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