Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????


sTrex
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 22 Mai 2008

Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:06

Bonjour,
j'aimerais modifier plusieurs enregistrements d'une table de ma base de données depuis un formulaire.
j'arrive a faire la premier boucle pour afficher les enregistrements a modifier, mais la deuxieme 'modification' j'arive pas.
et je ne trouve vraiment pa comment l'on fait!!! Merci beaucoup !!!


vitalizo
WRInaute passionné
WRInaute passionné
 
Messages: 1086
Inscription: 27 Nov 2005

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:14

Salut,

tu peux nous montrer ce que tu as déja fait ?


sTrex
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 22 Mai 2008

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:24

voila la premeier fonction

Code: Tout sélectionner
     echo "<table border=1 align=center>";
         echo "<tr><td align=center colspan=2><form method=\"post\" name=\"post\" action=\"page_modifier.php\">modifier les enregistrements</td></tr>";
     echo "<tr><td>id</td><td>titre</td></tr>";
      $result9 = $db->sql_query("SELECT * from livre");
      while($row9 = $db->sql_fetchrow($result9)) {
      $id = intval($row9['id']);
      $titre = stripslashes($row9['titre']);
      echo "<tr><td>$id</td>";
      echo "<td><INPUT type=text name=\"titre\" value=\"$titre\" size=\"20\"></td></tr>";
      }
         echo "<tr><td colspan=2><input type=\"hidden\" name=\"l_op\" value=\"modifiers\">";
         echo "<input type=\"submit\" value=\"modifier\">&nbsp;";
     echo "</form>";
     echo "</td></tr></table>";

ca donne
Image

maintenant j'ai besoin la 2eme fonction qui fait la modification


Schwarzer Stern
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 352
Inscription: 16 Mai 2010

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:32

Salut,
Déclare n=0 en début de fonction. Donne un id à chaque champ sous la forme "txt_titre[n]" (pour le titre) et "txt_id[n]" (pour l'id), incrémente n à chaque nouvel enregistrement.
Puis, après soumission, tu récupères txt_titre et txt_id avec $_POST
Tu obtiens donc un tableau où txt_id[n] = id à modifier par la valeur txt_titre[n]
(update table livre set titre='$txt_titre[n]' where id='txt_id[n]' en gros)
Plus qu'à enrober le tout d'un peu de PHP / MySQL :)
J'espère avoir été clair...


sTrex
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 22 Mai 2008

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:45

merci Schwarzer pour ta reponse,
c'est clair, mais j'ai pas compris cette ligne
Schwarzer Stern a écrit:Tu obtiens donc un tableau où txt_id[n] = id à modifier par la valeur txt_titre[n]

tableau = table hml ???


Schwarzer Stern
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 352
Inscription: 16 Mai 2010

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 14:50

Non, une chaîne PHP que tu exploites par exemple pour txt_titre[n] avec
Code: Tout sélectionner
$txt_titre=$_POST['txt_titre'];

Après, $txt_titre[0] sera égal à "ghhhhhhhhh" (première valeur), $txt_titre[1] = dddddddddd, etc.


sTrex
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 22 Mai 2008

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 16:17

svp donne moi une petit exemple :wink:


Schwarzer Stern
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 352
Inscription: 16 Mai 2010

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 16:26

Donc là c'est une partie du code qui devra figurer dans la page de traitement (php) :
Code: Tout sélectionner
$txt_id=$_POST['txt_id'];
$txt_titre=$_POST['txt_titre];

for($n=0;$n<count($txt_id);$n++){
$titre=$txt_titre[$n];
$id=$txt_id[$n];
$req = $db->sql_query("update livre set titre='".$titre ."' where id='".$id ."'");
}


Tu peux l'améliorer pour supprimer une entrée dont le titre serait vide par exemple.
Je te conseille de passer l'input de l'id (dans ton formulaire) en hidden ou en readonly pour qu'il ne puisse être modifié.
J'espère que ça va fonctionner ^^


sTrex
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 22 Mai 2008

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 20:42

merciiiiiii Schwarzer Stern pour ton aide
ça marche tree bien 100% coton :wink:


Schwarzer Stern
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 352
Inscription: 16 Mai 2010

Re: Comment modifier plusieurs enregistrement d'une table depuis un formulaire ?????

Message le Dim Sep 19, 2010 23:38

Tu me vois rassuré, je n'en trouvais plus le sommeil :D


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités