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
- Impossible d'afficher le rapport de tableau croisé dynamique sur un rapport existant ✓ - Forum Excel
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