Bonjour,
Je suis navré mon titre n'est pas tres claire ^^
Je rencontre un petit soucis que je n'arrive pas a résoudre tout seul...
Ma requete sql ne met a jour qu'un seul champ, alors qu'il peut y en avoir plusieurs.
Voici un bout de mon formulaire :
$retour = mysql_query("SELECT * FROM categories WHERE userid='$_SESSION[verified_user]' ORDER BY position_categorie ");
while($donnees = mysql_fetch_array($retour))
{ ?>
<tr>
<td width="264" valign="top"><input value="<?php echo $donnees['nom_categorie']; ?>" name="nom_categorie" type="hidden" /><?php echo $donnees['nom_categorie']; ?><br />
</td>
<td width="28" valign="top">
<input style="text-align:center; width:20px" name="position_categorie" value="<?php echo $donnees['position_categorie']; ?>" type="text" />
<br /></td></tr>
<?php } ?>
Le résultat :
Catégories Position
-------------------------------------------------------
Ma catégorie1 1
Ma catégorie2 2
|Valider|
------------------------------------------------------------------
Il s'agit d'un formulaire qui affiche les champs actuel dans les input et ou l'on peut les modifier.
Donc la variable "$position_catégorie" et "nom_catégorie" peuvent avoir plusieur valeurs selon le nombre de catégories.(voir ci-dessous)
Un bout du code de la page qui traite le formulaire :
if(isset($_POST['nom_categorie']));
$nom_categorie = $_POST['nom_categorie'];
if(isset($_POST['position_categorie']));
$position_categorie = htmlentities($_POST['position_categorie'], ENT_QUOTES);
include '../chemin/include/conf.php';
$retour = mysql_query("UPDATE categories SET position_categorie='$position_categorie' WHERE userid='$_SESSION[verified_user]' AND nom_categorie='$nom_categorie'") or die(mysql_error());
echo '<br />Modification effectué. <a href="index.php">Retour</a><br />';
mysql_close();
Dans le cas présent, la requete met à jour qu'un seul champ, et ne traite pas les autres. ( par exemple il va traiter "Ma catégorie2" mais pas "Ma catégorie1".
J'ai essayé de mettre ce code dans une boucle, mais je pense l'avoir mal fait puisque ca ne marche pas ^^, ou c'est peut etre pas la bonne solution.
Si vous pouviez m'aider a faire en sorte que la requette sql traite tous les champ je vous en serez reconnaissant (ca me bloque) !
Merci d'avance !