JeuWeb - Crée ton jeu par navigateur
[Réglé] encore un pb de condition.... - 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 : [Réglé] encore un pb de condition.... (/showthread.php?tid=1087)

Pages : 1 2


RE: encore un pb de condition.... - YVES - 21-04-2007

Autre test pour le second if mais qui ne marche pas.

Code PHP :
<?php 
if ($data['stock1']!= $data['stockvehicule'])&&($data['stockvehicule']!='./objet/rien.gif') {



RE: encore un pb de condition.... - Plume - 22-04-2007

Moi du code propre ? Non mais, tu crois parler à qui ? J'suis p'tet le plus maniaque sur le forum ! Rigolo Tongue


RE: encore un pb de condition.... - Plume - 23-04-2007

Rrrrr !! Coquin ! ^^
Bon c'pas tout ça, mais l'pauvre a pas encore trouvé la soluce !
Bon donc, je jette un oeil par-ci par là, et je vois ça :
Code PHP :
<?php 
else {
if (
$data['qstockvehicule'] < 30 && $data['stock1'] == $data['stockvehicule']) {
[...]
}

On remplace généralement ce genre de déclaration par un bref else if () {} Wink

J'ai repris ton code, pour le mettre en forme suivant des critères de présentation. Je me demandais comment tu arrivais à coder sans avoir d'erreurs. Mais ça c'était qu'au début, car finalement, j'ai trouvé une accolade fermante de trop juste avant ton dernier `if`

Finalement, j'obtiens vaguement ceci :
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
include
'connexion.php';
$sql = "SELECT gestion FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_result($res,0,'gestion');
if(
$data== './images/jetonrouge.gif')
{
echo
'<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center><center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
else
{
$sql= "SELECT qstockvehicule, qstock1, stock1, stockvehicule FROM membres WHERE id = " . $id ."";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($res);
if (
$data['stock1'] != $data['stockvehicule'])
{
echo
'<center><font color="red">transfert impossible, ce ne sont pas les memes ressources !</font></center><center><font color="black"><a href="affichestock1.php">retour</a></font></center>';
}
else if (
$data['qstockvehicule'] < 30 && $data['stock1'] == $data['stockvehicule'])
{
$rsa = "UPDATE membres SET qstockvehicule= qstockvehicule + qstock1, stockvehicule=stock1,
stock1='./objet/rien.gif', qstock1='0', exp=exp+0.1, hab=hab+0.1,
mp='Vous venez de remplir votre vehicule', gestion='./images/jetonrouge.gif' WHERE id = "
. $id ."";
$rsa = mysql_query($rsa) or die('Erreur SQL '.$rsa.'<br>'.mysql_error());

if(
$rsa)
{
$_SESSION['qstockvehicule']= $data['qstockvehicule'] + $data['qstock1'];
$_SESSION['stockvehicule']= $_SESSION['stock1'];
$_SESSION['stock1']= './objet/rien.gif';
$_SESSION['qstock1']= '0';
$_SESSION['exp']= $_SESSION['exp']+0.1;
$_SESSION['hab']= $_SESSION['hab']+0.1;
$_SESSION['mp']= 'vous venez de remplir votre vehicule';
$_SESSION['gestion']= './images/jetonrouge.gif';
}
header("Location: page_membre.php");
}
}
if (
$data['qstockvehicule'] >= 30)
{
echo
'<center><font color="red">Votre stock est plein !</font></center><center><font color="black"><a href="affichestock1.php">retour</a></font></center>';
}
mysql_close();
?>
Je me demande si le dernier if, ne pourrait pas être accroché au reste, mais je le laisse comme tel.

Tu fais une mauvaise utilisation de mysql_result()
$data n'est pas un tableau. ..


RE: encore un pb de condition.... - Nessper - 23-04-2007

pourquoi tu mets pas une image vide par défaut? c'est pas terrible pais je pense que ça permettrait à ton script de fonctionner.


RE: encore un pb de condition.... - Plume - 23-04-2007

C'est pas tant le problème, le script est totalement faux.
Il faudrait au moins rajouter un mysql_fetch_assoc quelque part.


RESOLU : encore un pb de condition.... - YVES - 28-04-2007

Bon, je pensais pourtant etre clair (h)
mon pb venait du fait qu'au début du jeu , tous les persos avaient "rien.gif"....
et personne ne m'a aiguillé la dessus.
bref, j'ai carrément changé le code de cette façon:
(qui fonctionne à présent)
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
include
'connexion.php';
$sql = "SELECT gestion FROM membres WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($res);
if(
$data== './images/jetonrouge.gif'){
echo
'<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center><center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
else{
$requete = mysql_query("SELECT stockvehicule, stock1, qstockvehicule FROM membres WHERE id = ". $id .";") or die(mysql_error());
$data= mysql_fetch_assoc($requete);
if (
$data['stockvehicule'] == './objet/rien.gif'){
header("Location: stock1vervehicule.php");
}
else if (
$data['stock1'] != $data['stockvehicule']){
echo
'<center><font color="red">transfert impossible, ce ne sont pas les memes ressources !</font></center><center><font color="black"><a href="affichestock1.php">retour</a></font></center>';
}
else if (
$data['stock1'] == $data['stockvehicule'] && $data['qstockvehicule'] < 30){
header("Location: stock1vervehicule.php");
}
else {
echo
'<center><font color="red">transfert impossible, votre vehicule est plein !</font></center><center><font color="black"><a href="affichestock1.php">retour</a></font></center>';
}
}
mysql_close();
?>
(le header renvoit vers l'update en table + maj sessions)
C'est surement pas très propre au niveau des puristes, mais au moins:
1) ca ne retourne aucun message d'erreur.
2)cela fonctionne dans tous les cas prévus.
Confusediffle:


RE: encore un pb de condition.... - Plume - 28-04-2007

Et pour les cas imprévus ?
Ensuite, tu peux dire, mais t'as bien été obligé d'utiliser une fonction du type mysql_fetch_* A partir de là, j'allais pas me casser la tête à réécrire ton code alors que rien n'allais marcher.


RE: encore un pb de condition.... - Shidame - 28-04-2007

Sans vouloir faire mon troll, j'ai l'impression au vu de tes quelques post que tu codes et concois ton script en une seule étape, je me trompe?

Je pense tu devrai d'abord faire une analyse , en gros ecrire ce que tu veux , ce que ton script dois faire, les données que tu va utiliser, celle que tu va renvoyer, afficher en bref réfléchir avant de coder et non pas en même temps.


RE: encore un pb de condition.... - Plume - 28-04-2007

LoL Shidame, c'est pas du troll ^^ On a vu bien pire Wink

En tout cas, ce que tu dis restes pertinent. Maintenant, je ne suis pas convaincu que cela face la différence.

Et merci d'avoir mis la mention [Réglé] <_<