update plusieurs colonnes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : update plusieurs colonnes

Re: update plusieurs colonnes

par Ryle » 19 sept. 2011, 19:59

Tu ne peux pas le faire ainsi, il faut faire en plusieurs requêtes.

En effet, un update te permet de mettre à jour plusieurs champs (nom, prenom, ...), de plusieurs enregistrements (id=1, 2, 3...), mais ne te permet pas de spécifier des valeurs différentes pour chaque enregistrement. Pour cela, il te faut faire un update pour chaque enregistrement à mettre à jour avec des valeurs différentes...

Re: update plusieurs colonnes

par sem2011 » 19 sept. 2011, 12:26

plusieurs lignes différent nom et prénom

ex.
id nom prenom
1 test1 test2 / remplace le nom par test2
2 titi toto / remplace le prénom par toto-te etc....
3 ... .....

Re: update plusieurs colonnes

par moogli » 19 sept. 2011, 12:13

Bonjour,
Merci pour la réponse

Quand utilise "WHERE id=$id";" on change que la dernière, moi je souhaite change plusieurs ligne à la fois.
Avec plusieurs couples nom / prenom différent ?

Ou affecter a plusieurs lignes les mêmes nom / prénom ? au quel cas la première syntaxe est bonne.

affiche la requête et teste la avec phpmyadmin ou la console mysql !


@+

Re: update plusieurs colonnes

par sem2011 » 19 sept. 2011, 11:56

Bonjour,
Merci pour la réponse

Quand utilise "WHERE id=$id";" on change que la dernière, moi je souhaite change plusieurs ligne à la fois.

Re: update plusieurs colonnes

par moogli » 19 sept. 2011, 11:17

salut,

$sql="UPDATE nm SET nom ='$nom',
prenom='$prenom' WHERE id=$id";

la syntaxe est correcte pour mettre a jour les champs nom et prénom de la table nm pour une ligne précise (indiqué par l'id).

tu ne devrait directement utiliser des informations issues d'un formulaire, il faut les "protéger" avec mysql_real_escape_string

@+

update plusieurs colonnes

par sem2011 » 19 sept. 2011, 10:08

Bonjour,

je souhaite modifier plusieurs colonnes d'une table: le problème ci-dessus , on peut modifier seulement la dernière colonne . merci pour votre aide

if($_REQUEST['modif']=="ok"){

$id=$_POST['id'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];


$sql="UPDATE nm SET nom ='$nom',
prenom='$prenom' WHERE id in('1',2','3')";


$result=mysql_query($sql) or die( mysql_error() );

}
$sql="select id, nom, prenom from test";
$rs=mysql_query($sql);
$sql="select id, nom, prenom from nm";
$rs=mysql_query($sql);

?><table>
<tr><td>Nom</td><td>prenom</td></tr>
<form action="" method="post" name="modif">

<input type="hidden" name="modif" value="ok" />
<?php

while($data=mysql_fetch_assoc($rs)){
....