JeuWeb - Crée ton jeu par navigateur
pb requete avec DEUX variables - 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 requete avec DEUX variables (/showthread.php?tid=860)



pb requete avec DEUX variables - YVES - 22-02-2007

salut tout le monde,
Voici la fin d'1 script qui fonctionne bien. mais je n'arrive pas à rajouter une condition en rapport avec une seconde variable, à savoir "qob1" (quantité de l'objet 1)...
j'ai tenté d'ajouter 'qb1" dans le select et ensuite dans le $data= mysql_result..... mais cela affiche rien.
CE QUE JE VOUDRAIS REALISER C EST EN GROS:
si qob1<'5' =ok, l'update se fait, sinon, message et redirection en amont.

Code PHP :
<?php 
$sql
= "SELECT ob1 FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_result($res,0,'ob1');
if ((
$data== './objet/rien.gif')||($data==$ressource)){
$sql ="UPDATE membres SET ob1= '$ressource', qob1=qob1+1, action='images/jetonrouge.gif',
exp=exp+0.1, hab=hab+0.1, uob1=uob1+0.1 WHERE id = "
. $id .";";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if(
$res)
{
$_SESSION['ob1']= $ressource;
$_SESSION['qob1']=$_SESSION['qob1']+1;
$_SESSION['action']= 'images/jetonrouge.gif';
$_SESSION['exp']= $_SESSION['exp']+0.1;
$_SESSION['hab']= $_SESSION['hab']+0.1;
$_SESSION['uob1']= $_SESSION['uob1']+0.1;
}
header("Location: page_membre.php");
}
mysql_close();
?>
'


RE: pb requete avec DEUX variables - Plume - 22-02-2007

$ressource c'est ?


RE: pb requete avec DEUX variables - denisc - 22-02-2007

Pas de ';' dans les requêtes mysql!!!


RE: pb requete avec DEUX variables - Plume - 22-02-2007

Ah ouais ... Je suis con en plus parce que j'ai regardé, mais j'ai pas vu :oops:


RE: pb requete avec DEUX variables - YVES - 22-02-2007

$ressource, c'est la variable que le joueur a récupéré juste avant (exemple bois, plante, etc)....

pour les ; dans les requetes, on me l'a déjà dit mais bon, ca marche ainsi :heuuu: non, donc, ce qui me chiffonne, c'est de traiter une seconde variable dans la requete car je ne sais comment m'en dépetrer.


RE: pb requete avec DEUX variables - YVES - 22-02-2007

Code PHP :
<?php 
$sql
= "SELECT ob1,[color=red] qob1[/color] FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
[
color=red]$data = mysql_result($res,0,'ob1');[/color]

en rouge ce qui me pose déjà 1 problème ....


RE: pb requete avec DEUX variables - YVES - 22-02-2007

[php]$sql= "SELECT ob1, qob1 FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_result($res,0,'ob1');

en gras ca sera mieux p-etre :respect:


RE: pb requete avec DEUX variables - Plume - 22-02-2007

Es tu sûr que 'qob1' est un nom d'attribut dans ta table ? J'arrive pas à cerner ton problème. Et enlève le ';' Smile

[EDIT]Je vois pas le rapport entre 'qob1' et mysql_result($res,0,'ob1');


RE: pb requete avec DEUX variables - YVES - 23-02-2007

Pour mieux cerner? ce que je souhaite
Code PHP :
<?php 
$sql
= "SELECT ob1, [b]qob1[/b] FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_result($res,0,'ob1');
$donnee= mysql_result($res,0,'[b]qob1[/b]');
if ((
$data== './objet/rien.gif')||($data==$ressource)&& ($donnee<'5')){
$sql ="UPDATE membres SET ob1= '$ressource', qob1=qob1+1, action='images/jetonrouge.gif',
exp=exp+0.1, hab=hab+0.1, uob1=uob1+0.1 WHERE id = "
. $id .";";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if(
$res)
{

bla bla bla (mise à jour des sessions)....
}



RE: pb requete avec DEUX variables - denisc - 23-02-2007

Mai ça sert à quoi cette fonction là... mysql_result???

Utilise plutot mysql_fetch_object, c'est bien plus pratique!

Code PHP :
<?php 
$sql
= "SELECT ob1, qob1 FROM membres WHERE id = ". $id;
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$row = mysql_fetch_object($res);
$data = $row->ob1;
$donnee = $row->qob1;
if ((
$data== './objet/rien.gif')||($data==$ressource)&& ($donnee<'5')){
$sql ="UPDATE membres SET ob1= '$ressource', qob1=qob1+1, action='images/jetonrouge.gif',
exp=exp+0.1, hab=hab+0.1, uob1=uob1+0.1 WHERE id = "
. $id;
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if(
$res)
{

bla bla bla (mise à jour des sessions)....
}

Y a aussi un truc pas clair dans cette ligne :
Code PHP :
<?php 
if (($data== './objet/rien.gif')||($data==$ressource)&& ($donnee<'5'))
Un mélange de || et de && pas catholique pour deux sous ça!

Ca devrai plus être un truc du genre...
Code PHP :
<?php 
if ((($data== './objet/rien.gif')||($data==$ressource))&& ($donnee<'5'))
ou
Code PHP :
<?php 
if (($data== './objet/rien.gif')||(($data==$ressource)&& ($donnee<'5')))

... Et retire ces bon dieu de point virgule!!!!! (h)