Souci de Post avec des variables dynamiques
Résolu
Odeatho
-
Odeatho -
Odeatho -
Bonjour a tous,
Je vous explique mon souci ,
en fait je crée un tableau dynamiquement en fonction du résultat d'une requête sql ( je crée autant de lignes que de personnes dans ma table)
et j ai crée deux input text par lignes.
Comme ils sont dynamiques , ils se nomment nbSite_$i avec $i comme itérateur.
en fait , le souci c est que je n arrive pas a récupérer les variables contenues dans les champs textes de mes input dynamiques. ( c est possible que j ai commis une grosse faute je ne suis pas un expert)
voici le code :
mais jamais ca ne passe les isset. ( a part enregistrer bien sur)
Je ne comprends pas d'où ça vient.
J'ai lu les réponses sur un problème similaire au mien et je n ai pas réussi a m'en sortir quand meme.
Je vous remercie?
Je vous explique mon souci ,
en fait je crée un tableau dynamiquement en fonction du résultat d'une requête sql ( je crée autant de lignes que de personnes dans ma table)
et j ai crée deux input text par lignes.
Comme ils sont dynamiques , ils se nomment nbSite_$i avec $i comme itérateur.
en fait , le souci c est que je n arrive pas a récupérer les variables contenues dans les champs textes de mes input dynamiques. ( c est possible que j ai commis une grosse faute je ne suis pas un expert)
voici le code :
<?php $week = date("W"); ?> <caption>Tableau des Sites classés en semaine <?php echo $week ?></caption> <?php require ('config.php'); $db_table='relance'; mysql_connect ($db_server, $db_user, $db_pass); mysql_select_db($db); $sql_tab="SELECT DISTINCT `$st` FROM `$db_table` ORDER BY `$st` "; $res_tab =mysql_query($sql_tab); $i=0; while($ligne=mysql_fetch_assoc($res_tab)) { ?> <form method="POST" action ="Site.php" > <tr class='odd' > <td width=20%> <?php echo "Sous_traitants" ?><br/> <select name='stsc_$i' id='stsc_$i'> <OPTION selected value=1 >Tous <?PHP require ('config.php'); $db_table='relance'; mysql_connect ($db_server, $db_user, $db_pass); mysql_select_db($db); $sql="SELECT DISTINCT `$st` FROM `$db_table` ORDER BY `$st` "; $res=mysql_query($sql); while($ligne=mysql_fetch_assoc($res)) echo "<option value='".$ligne[$st]."'>".$ligne[$st]."</option>"; ?> </select> </td> <td width=20%> <?php echo "Nombre de sites classés" ?><br/> <input type='text' name='nbSite_$i' value='' size='30'/> </td> <td width=20%> <?php echo "Nombre de sites classés avec retard" ?><br/> <input type='text' name='nbSiteR_$i' value='' size='30'/> </td> </tr> <?php $i++; } ?> </table> <input class=Perso type="submit" value="envoyer" /> <input type=hidden name=enregistrer value=ok> <h2><a href="Relance.php"> Accéder à la page des Relances </a> <b/></h2> <h2><a href="Stat.php"> Accéder à la page Statistiques </a></h2> </form> <?php if(isset($_POST['enregistrer'])) { $Verif=true; for($d=0;$d<$i;$d++) { if( isset($_POST['stsc_'.$d]) ) { } if( isset($_POST['nbSite_'.$d]) ) { } if(isset($_POST['nbSiteR_'.$d])) { } } ?>
mais jamais ca ne passe les isset. ( a part enregistrer bien sur)
Je ne comprends pas d'où ça vient.
J'ai lu les réponses sur un problème similaire au mien et je n ai pas réussi a m'en sortir quand meme.
Je vous remercie?
A voir également:
- Souci de Post avec des variables dynamiques
- Tableaux croisés dynamiques - Guide
- Brouillon post instagram - Guide
- Post it windows - Télécharger - Agendas & Calendriers
- Code post - Télécharger - Vie quotidienne
- Post it sur mac - Forum MacOS
5 réponses
Odeatho
si tu parles de la boucle du while , le form est dedans
Odeatho
>
Odeatho
ah la deuxieme boucle autant pour moi désolé je tes et je te redis
j'ai un peu retravailler ton code :
<?php require ('config.php'); $db_table = 'relance'; $link = mysql_connect ($db_server, $db_user, $db_pass); mysql_select_db($db,$link); $sql_tab = "SELECT DISTINCT `$st` FROM `$db_table` ORDER BY `$st` "; $res_tab = mysql_query($sql_tab); $liste = array(); while($ligne = mysql_fetch_assoc($res_tab)) { $liste[] = $ligne; } $nb = count($liste); mysql_free_result; mysql_close($link); ?> <form action="Site.php" method="post"> <?php for($i = 0;$i<$nb;++$i){?> <p> <label>Sous Traitants : </label> <select name='stsc_<?php echo $i;?> id='stsc_<?php echo $i;?>'> <?php foreach($liste as $values){?> <option value="<?php echo $values['$st']?>"><?php echo $values['$st'];?></option> <?php } ?> </select> </p> <p> <label>Nombre de sites classés : </label> <input type="text" name="nbSite_<?php echo $i;?>" /> </p> <p> <label>Nombre de sites classés avec retard : </label> <input type="text" name="nbSite_<?php echo $i;?>" /> </p> <?php } ?> </form>
j'ai testé avec le code que tu as fait ( y a plus le tableau mais c est pas un souci )
Lorsque j ai rempli les champs et que je fais envoyer,
La page me dit : undefined index stsc_0 et pareil pour nbSite et nbSiteR
ca me fait ca depuis le début , on dirait que mes variables ne passant pas par post
J'ai testé avec GEt mais la c est pire car GET remplace le charactere $ par %24
merci de ta réponse rapide
Lorsque j ai rempli les champs et que je fais envoyer,
La page me dit : undefined index stsc_0 et pareil pour nbSite et nbSiteR
ca me fait ca depuis le début , on dirait que mes variables ne passant pas par post
J'ai testé avec GEt mais la c est pire car GET remplace le charactere $ par %24
merci de ta réponse rapide
Tu a bien fermé la balise </form> j'espere et ton bouton <input type="submit"> doit être à l'intérieur .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens de tester mon code et il fonctionne il me manque juste une petite code au niveau du select .
Oui mon input submit est dans le form.
Par contre dans ton code , cette ligne
<select name='stsc_<?php echo $i;?> id='stsc_<?php echo $i;?>'>
tu es sur qu il ne manque pas des ' ?
car dans le code source j ai cela :
<select name='stsc_0 id='stsc_0' >
j'ai l'impression qu il manque un ' apres le name
je te remercie
Par contre dans ton code , cette ligne
<select name='stsc_<?php echo $i;?> id='stsc_<?php echo $i;?>'>
tu es sur qu il ne manque pas des ' ?
car dans le code source j ai cela :
<select name='stsc_0 id='stsc_0' >
j'ai l'impression qu il manque un ' apres le name
je te remercie