Mysql données croisées

Ulrich7 -  
caphar Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voilà mon problème :

J'ai deux tables, la première "escargot" contient les colonnes "points" et "argent", la seconde "serre" contient la colonne "fraisier". Je souhaite UPDATER points et argent de toutes les entrées DONT LA VALEUR "fraisier" est de 1.

Donc mon code :

<?php
$ok = 1;
mysql_query('update escargot set argent=argent+10, points=points+5 where fraisier="'.$ok.'"');
?>


sauf que fraisier ne fait pas partit de la même table, comment faut-il faire ?

Merci d'avance.

A voir également:

1 réponse

caphar Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   12
 
Bienvenue dans le monde des jointures de tables !

Il faut créer une relation entre tes tables, par exemple si chaque escargot est obligatoirement relié à une serre, tu dois attribuer un identifiant (id, généralement un INT auto-increment) à chaque serre et ajouter une colonne serre_id (INT) dans ta table escargot, contenant le numéro d'identifiant de sa serre

Ensuite, si tu utilises MySQL 5, tu peux faire un UPDATE multi-table, ça donne à peu près ça (à adapter à tes noms de colonnes) :

UPDATE escargot, serre 
SET escargot.argent=escargot.argent+10, 
  escargot.points=escargot.points+5 
WHERE serre.fraisier= "' . mysql_real_escape($ok) . '"'
  AND serre.id = escargot.serre_id
0