JeuWeb - Crée ton jeu par navigateur
pb 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 : pb condition? (/showthread.php?tid=1018)



pb condition? - YVES - 03-04-2007

Bonsoir,
décidément, je suis faché avec les boucles conditionnelles :wowowow:
Voici un bout de code...(expérimental pour test) qui ne fonctionne pas!
:hahahaha:
qstockvehicule est en session et base de données et a une valeur numérique.
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
include
'connexion.php';
$sql= "SELECT qstockvehicule FROM membres WHERE id = " . $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
(
$data = mysql_fetch_assoc($res));
if(
$data<30)
{
echo
'<center><font color="red">CA COMMENCE BIEN</font></center>';
}
mysql_close();
?>



RE: pb condition? - Maegia - 03-04-2007

Hum... ? ton data récupère une ligne et retourne le résultat sous forme de tableau. De la manière indiqué ici, tu dis :

if (array<30){[...]}

alors que, je crois, tu voudrais plutôt dire :

if ($data['qstockvehicule'] < 30){[...]}

Je me trompe ? Et ou est la boucle ici... ? Une boucle est déclaré via les mots-clés while, for ou do, or je n'en vois aucun. Et pourquoi des parenthèses autour de ($data = mysql_fetch_assoc($res)); ?


RE: pb condition? - eragon77 - 03-04-2007

Code PHP :
<?php 
if ($data['qstockvehicule'] < 30){[...]}

oublie pas le $ Smile

tu devrait plutôt utiliser mysql_fetch_array au lieu de mysql_fetch_assoc Smile

ps : je crois que ton post est pas la ou il faut Wink


RE: pb condition? - Maegia - 03-04-2007

Citation :tu devrait plutôt utiliser mysql_fetch_array au lieu de mysql_fetch_assoc

Hein ?! Meuh non, continue avec assoc, beaucoup mieux ! Wink


RE: pb condition? - eragon77 - 03-04-2007

mysql_fetch_assoc revient à appeler la fonction mysql_fetch_array, avec MYSQL_ASSOC en tant que second paramètre.

Sa revient au même en gros je pense Smile


RE: pb condition? - Maegia - 03-04-2007

mysql_fetch_array t'indexes aussi tes résultat selon un ordre numérique en plus de l'index nominal. mysql_fetch_assoc, quant à lui, n'applique que l'indexation nominale. Bref, s'il ne s'agit que d'une petite page comme ça, il n'y a aucune différence, mais sur un gros site comprenant de multiples requêtes, il faut savoir choisir judicieusement la méthode à utilisé selon nos besoins et selon la rapidité d'exécution. mylsqu_fetch_assoc restera plus rapide, bien que je ne nie pas que nous puissions bien entendu avoir besoin d'un index numérique, auquel cas il est possible de faire appel à mysql_fetch_row. Si vous avez besoin des deux index, alors là, oui, mysql_fetch_array est fait pour vous !


RE: pb condition? - eragon77 - 03-04-2007

ok merci, interessant comme explication, je ne savais pas, vu que je mis connait pas trop en sql Smile


RE: pb condition? - YVES - 03-04-2007

merci, ca fonctionne :good:


RE: pb condition? [RESOLU] - YVES - 03-04-2007

YVES a écrit :merci, ca fonctionne :good:



RE: pb condition? - NicoMSEvent - 04-04-2007

édite ton post, et met [résolu] devant le titre... ça fait plus propre Wink