Mettre à jour plusieurs entrées

Mammouth du PHP | 531 Messages

18 mai 2007, 15:03

Bonjour,

Je cherche la méthode permettant de mettre à jour plusieurs entrées à la suite.
Voilà, l'histoire : Je récupère le contenu de ma table dans des champs de formulaire, comme ceci :

Code : Tout sélectionner

<form method="post" action="marques.php?action=2"> <table> <tr> <td>ID</td> <td>NOM</td> </tr> <?php while($data1= mysql_fetch_array($req1)) { echo '<tr><td>'.$data1['id_marque'].'</td><td><input type="text" name="nom" value="'.$data1['nom_marque'].'" /></td></tr>'; } ?> </table> <input type="submit" value="Mettre à jour" /> </form>
Pour l'instant au viveau de ma requete ça se présente comme ça, mais évidement il manque quelquechose. je pensais à y intégrer une boucle tout simplement ? :

Code : Tout sélectionner

switch($action) { case '2': $req2= mysql_query("UPDATE nom_marque SET ($nom)"); }

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

18 mai 2007, 15:15

Et pourquoi pas un WHERE ?

UPDATE nom_marque SET ('Toto') WHERE id_marque = 3
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 531 Messages

18 mai 2007, 16:15

Et pourquoi pas un WHERE ?

UPDATE nom_marque SET ('Toto') WHERE id_marque = 3
hummm
Parce que mon bouton submit envoi toutes les modifs pour toute la liste.

Peut être alors ceci ?? :

Code : Tout sélectionner

whlie() { UPDATE nom_marque SET ('Toto') WHERE id_marque = '.$id.' }

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

18 mai 2007, 17:54

C'est la seule marque (Toto) à màj ou bien tu mets à jour toutes les marques ? (désolé, je ne lis pas encore le code de façon automatique)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 531 Messages

18 mai 2007, 18:01

En fait je recupere toute la liste des marques, et je la renvoi toute.
Donc tout se met a jour, même si tout n'est pas modifié...
Je sais pas comment faire pour ma boucle... je pense que c'est la boucle la solution

Mammouth du PHP | 531 Messages

19 mai 2007, 13:54

Je vais réexpliquer, car j'ai pas été super clair je crois. Donc dans le but d'éviter d'avoir une page listant les entrées d'une table, de devoir acceder à une autre page pour les mettre à jour, je voudrais tout faire dans la même.

Donc je récupère dans un premier temps les entrées :

Code : Tout sélectionner

$req1= mysql_query("SELECT * FROM $table_categories");
Ensuite je fait une boucle d'imput, et un seul bouton submit pour tout le monde :

Code : Tout sélectionner

<form method="post" action="categories.php?requete=maj_categorie"> <?php while($data1= mysql_fetch_array($req1)) { echo '<input type="text" name="nom" value="'.$data1['nom_categorie'].'"'; } ?> <input type="submit"> </form>
C'est là que je butte, car je ne sais pas comment faire pour ma requete... Donc j'ai déjà commencé à la construire mais évidement il manque quelquechose, surtout un where, mais je ne sais comment intégré l'id dans mon formulaire

Code : Tout sélectionner

$req= mysql_query("UPDATE $categorie_pages SET nom_categorie='".$_POST['nom']."'");
:roll: