Enregistrer ou changer plusieurs valeurs d'un même champ

Eléphanteau du PHP | 24 Messages

01 févr. 2008, 13:39

Bonjour à tous,
J'utilise mysql 5.0.27 et php 5.2.0

Je n'arrive pas à trouver la syntaxe pour modifier les cinq valeurs d'un seul champ d'une table. Soit ma table réponse qui possède 4 champs.

Code : Tout sélectionner

id_reponse : id_sondages : reponses : nb_votes 1 : 1 : Blabla : 46 2 : 1 : Truc : 27 3 : 1 : Chose : 15 4 : 1 : Machin : 45 5 : 1 : Bidule : 34
Comment fait-on un UPDATE afin que le seul champ "reponses" soit modifié de ces cinq valeurs ?
Même chose pour le INSERT ?
Merci de votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

01 févr. 2008, 13:53

Code : Tout sélectionner

Update table SET reponses = "Euh comme ça"
8-|

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 24 Messages

01 févr. 2008, 14:09

Bonjour Truc et merci de me répondre,
Je veux changer les 5 valeurs pour faire cela par exemple :

Code : Tout sélectionner

id_reponse : id_sondages : reponses : nb_votes 1 : 1 : Première rep : 46 2 : 1 : Deux : 27 3 : 1 : Troisieme rep : 15 4 : 1 : Encore : 45 5 : 1 : La derniere : 34
Donc dans la colonne "reponses" insérer non pas 1 mais 5 valeurs.

UPDATE table_reponse SET reponse = "Première rep" et après pour "Deux" puis "Troisieme rep" etc. Comment fait-on ?
Avec WHERE , AND, ou autre chose. Je n'y arrive pas.

ViPHP
ViPHP | 4039 Messages

01 févr. 2008, 14:17

ben tu fais une boucle php pour lancer ta requête.. for, while, foreach, ce que tu veux :wink:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

d0m
Mammouth du PHP | 1141 Messages

01 févr. 2008, 14:49

L'idée n'étant pas de faire une requête modifiant plusieurs enregistrements,
il faut plusieurs requêtes modifiant chacune un enregistrement.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

01 févr. 2008, 15:14

L'idée n'étant pas de faire une requête modifiant plusieurs enregistrements,
il faut plusieurs requêtes modifiant chacune un enregistrement.
la messe est dite :)

donc

Code : Tout sélectionner

UPDATE ... WHERE id = 1 UPDATE ... WHERE id = 2 ...

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 5924 Messages

01 févr. 2008, 16:25

Ou un replace :

Code : Tout sélectionner

REPLACE table(id_reponse, id_sondages, reponses) VALUES(1, 1, 'Première réponse'), (2, 1, 'Seconde réponse'), (3, 1, 'Troisième réponse'), …
Avec une clé primaire sur le couple (id_reponse, id_sondages) comme il se doit.

Eléphanteau du PHP | 24 Messages

01 févr. 2008, 16:55

Oh Yeaaahhh !! :P
Tous ces viPHP rien que pour moi....
Dans tous les cas merci beaucoup. Je ne connaissais pas REPLACE et çà marche nickel.
Je vais donc me jeter sur la documentation pour apprendre tout çà.
Mille fois merci. :lol:

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]