update de plusieurs entrées

Petit nouveau ! | 6 Messages

30 janv. 2013, 04:20

Bonjour,
Pour un projet, j'ai créé une table informations qui contient des paragraphes. Voici la composition exacte

informations
id : la clé primaire en auto-increment
place l'emplacement du paragraphe (entre 0 et (x-1) ). C'est un int
texte le texte en lui même

J'ai fait un formulaire comme ceci :
<form method="post" action="informations_tri.php">
<!-- On compte le nombre de paragraphes -->
<?php
$nb=0;
$compt_text=$bdd->prepare('SELECT * FROM informations ORDER BY place');
$compt_text->execute();
while($compt_textes=$compt_text->fetch()){
	$nb++;
}
$compt_text->closeCursor();
?>
<!-- Une liste des textes existants triés par "place"   -->
<?php
$text_tous=$bdd->prepare('SELECT * FROM informations ORDER BY place');
$text_tous->execute();
while($textes=$text_tous->fetch()){
	//Le texte français
	echo $textes['texte'];
	?><p>emplacement</p>
    <select name="$textes['id']">
    <?php
    	for($cpt=1; $cpt<=$nb;$cpt++){
			?><option value="<?php echo $cpt; ?>"><?php echo $cpt; ?></option> <?php
		}
	?>
    </select>
    <?php
}
$text_tous->closeCursor();
?>
<input type="submit" value="Valider" />
</form>

Comme on le voit, on aura x fois une variable dans $_POST qui ressemblera à cela :
$_POST[id_de_l'entree]=emplacement_du_paragraphe

Je ne sais cependant pas comment appeler tous ces $_POSTs.
Un indice?
Y a-t-il un meilleur moyen?

Merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 janv. 2013, 13:22

salut,


le plus simple serait de nommer tonchamps avec la notation tableau (name="truc[]" par exemple, tu peux inclure l'index si cela t'es utile name="truc[index perso]") ensuite dans la validation du formulaire tu utilise foreach pour parcourir le tableau $_POST['truc'] (dans mon exemple).


@+
Il en faut peu pour être heureux ......