JeuWeb - Crée ton jeu par navigateur
pb maj avec jointure de tables? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : pb maj avec jointure de tables? (/showthread.php?tid=921)



pb maj avec jointure de tables? - YVES - 09-03-2007

Bonsoir,
comment faire un update (mise a jour d'une variable dans une autre table)
ladite variable a le meme nom dans les 2 tables (membres et bmi) à savoir: coffre.

Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
include
'connexion.php';
$sql = "UPDATE membres SET coffre= coffre+$quantité*2";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$sq2 = "UPDATE coffre FROM membres, bmi WHERE coffre=coffre+$quantité*2";
mysql_close();
?>

---> la première requète ($sql) fonctionne mais pas la seconde ($sq2)....


RE: pb maj avec jointure de tables? - Enyrian - 10-03-2007

Bonsoir =)

Question bête, c'est normal que tu execute pas la deuxième requete avec mysql_query($sq2); ?

Au plaisir Tongue


RE: pb maj avec jointure de tables? - YVES - 10-03-2007

On ne chambre pas , un oubli ca peut arriver :heuuu:
Il n'empeche, la seconde requète ne fonctionne tjrs pas :hahahaha:

Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
include
'connexion.php';
$sql = "UPDATE membres SET coffre= coffre+$quantité*2";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$sq2 = "UPDATE coffre FROM membres, bmi WHERE coffre=coffre+$quantité*2";
mysql_query($sq2) or die('Erreur SQL '.$sq2.'<br>'.mysql_error());
mysql_close();
?>



RE: pb maj avec jointure de tables? - Yoda54 - 10-03-2007

Bonsoir,

J'ai l'impression que tu te compliques un peu la vie. Ceci ne marche-t-il pas?
Code PHP :
<?php 
$sql
="UPDATE membres, bmi SET membres.coffre=coffre+$quantite*2, bmi.coffre=coffre+$quantite*2";

Pour ce qui est de ta seconde requête proprement dite, elle ne respecte pas la syntaxe de UPDATE, il est donc logique qu'elle ne fonctionne pas je pense.


RE: pb maj avec jointure de tables? - icien - 10-03-2007

Si je peux me permettre, il manque un WHERE sinon tu vas mette à jour le coffre de tous tes joueurs. Par contre pour te faire une proposition de requête il faudrait en savoir plus sur la structure de tes tables.


RE: pb maj avec jointure de tables? - YVES - 10-03-2007

en fait je veux faire plus simple et comme il suit, mais cela ne fonctionne pas mieux...
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
include
'connexion.php';
$sql = "UPDATE bmi SET coffre= coffre+$quantité*2";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
mysql_close();
?>
la table bmi n'a que 2 champs dont "coffre" qui a une clef index.


RE: pb maj avec jointure de tables? - Enyrian - 10-03-2007

"UPDATE bmi SET coffre= coffre+$quantité*2"

Humph, coffre est une chaine dans ce cas, et ce qui suit des nombres...
Or on ne peut pas additionner des lettres et des chiffres^^
Peut être que tu veux faire que le champ s'incrémente de $quantité*2 ?


RE: pb maj avec jointure de tables? - YVES - 11-03-2007

OUI, c'est celà en fait :wowowow:


RE: pb maj avec jointure de tables? - Yoda54 - 12-03-2007

Qu'est-ce qui ne marche pas exactement?
As-tu une erreur SQL qui s'affiche? Si oui, laquelle?
Le champ coffre de la table bmi n'est pas mis à jour? Essaie de faire un echo de $quantité avant la requête pour voir ce que cela donne.

@Enyrian: Si le champ coffre est de type numérique dans la table, il n'y a aucun soucis, il s'agira bien d'un calcul où toutes les valeurs sont numériques.