8791 sujets

Développement web côté serveur, CMS

Bonsoir,

J'ai une grosse galère en ce moment... Je m'explique, je dois typer des vêtements selon leur état de propreté...

A savoir que j'ai une table vetement, avec un id, un nom et une clé étrangère permettant de type l'état du vêtement....

Voilà un bout de mon code :

fonction_reception_bon.php :


$nb_select = 0 ; // J'initialise à 0, la variable permettant de calculer le nombre de champs select
while ($donnees = mysql_fetch_array($sql) )	//affichage de la requete
{
echo '<tr>' ;
?>			
<td><?php echo $donnees['LGRnId'] ; ?></td> // affichage de l'id du vetement
<td><?php echo $donnees['LGReEtat'] ; ?></td> // affichage de divers données...
<td>

// Le but ici, va être d'afficher pour chaque nom de vetement, un select permettant de typer le vetement, exemple, sale, propre etc etc...
					<form action="fonction_reception_bon2.php" method="post">			
						<select name="MTLsClair">
<?php							
							$requeteetat = "SELECT * from Etat" ; 
							$resultatetat = mysql_query($requeteetat);
							while ($tab = mysql_fetch_assoc($resultatetat))
							{
								$MTLnId = $tab['MTLnId'];
								$MTLsClair = $tab['MTLsClair'];
								echo '<option value="'.$MTLnId.'">'.$MTLsClair; 
								echo '</option>'."\n"; 								
							}
?>	
						</select>			
				</td>
<?php
			$nb_select++ ;
		}
		echo '</tr>' ;
?>
	</table>
<?php	
		echo "<input type='hidden' name='nb_select' value='$nb_select'>" ;
?>	
	<input type="submit" value="Valider" name="valider" class="submit"/> 	
</form>
<?php
}
?>

// voilà pour ma première page...

Seconde page : 

fonction_reception_bon2.php :
<?php
		$nb_select = $_POST['nb_select'] ;
		for($i=0 ; $i < $nb_select; $i++) 
		{
			$v4 = $_POST['MTLsClair'] ; // je récupére l'id de l'état permettant de faire un update sur ma table vetement.
			echo $v4 ;
		//	mysql_query("UPDATE lignerecyclage SET MTLnId='" . $v4 . "' WHERE LGRnId='" . $_POST['LGRnId'] . "'") or die(mysql_error());
Ici, ma requête permettant de faire la mise à jour... MAIS COMMENT récupérer l'ID des vêtements de ma page précédente afin de faire la mise à jour ?

		}
			echo 'OK' ;
?>



D'avance merci.
Modifié par Francis59000 (11 Feb 2010 - 20:55)
Salut,

en tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

upload/1-code.gif

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que l'Aide (dont le lien est fourni lors de l'inscription) contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Francis59000 a écrit :
Voila, édité, mais cela déforme la page.
Il manquait le langage (j'ai mis [ code=html]). Smiley cligne
Pour ta question il suffit d'utiliser un INPUT de type hidden :
<input type="hidden" name="monid" value="<?php echo $monid; ?>" />
que tu peux récupérer avec $_POST['monid']
Ou je dois placer cet input ? Dans le while, si c'est le cas, il s'écrase et prends la dernière valeur de l'id ? Faut il créer une autre boucle, ou je sais pas trop...
Ben tu connais mieux le fonctionnement de ta boucle que moi non ? Smiley rolleyes

A vue de nez je dirais juste après
<?php     
        echo "<input type='hidden' name='nb_select' value='$nb_select'>" ; 
?> 
ce qui pourrait donner
<?php     
        echo '<input type="hidden" name="nb_select" value="'.$nb_select.'">' ; 
        echo '<input type="hidden" name="LGRnId" value="'.$donnees['LGRnId'].'">' ; 
?> 
Dans le while, on déroule les vêtements qui nous intéresse... Si on place un champs caché en dehors de la boucle, celui ci ne va prendre qu'une valeur ... ? et si l'on place dans le while, les valeurs vont être à chaque fois écrasées non ? C'est cette notion la, que j'aimerais saisir en fait, car c'est réellement flou dans ma tête...

Merci.
Modifié par Francis59000 (11 Feb 2010 - 21:26)
Pour être clair tu as 2 boucles while.

La première sur chaque article et la seconde sur chaque état. A noter que celle-ci ne devrait être faite qu'une seule fois avant et alimenter un array plutôt que refaire la même requête pour chaque article.

Comme pour chaque article tu as un formulaire il suffit de faire comme je t'ai dit puique l'id va être différent à chaque fois.
Merci. J'ai compris, je viens de refaire un exemple rapidos, dans le détail de mon formulaire (merci l'addon webdevelopper) j'ai bien les différents champs hidden par contre, c'est sur le traitement du formulaire pour les afficher que j'ai du mal.