JeuWeb - Crée ton jeu par navigateur
[réglé]Requete ne fonctionnant pas - 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é]Requete ne fonctionnant pas (/showthread.php?tid=1372)



[réglé]Requete ne fonctionnant pas - V1nc3 - 27-06-2007

Dans mon script de jeu, j'ai voulu faire une requete afin que ni l'un ni l'autre de mes persos n'apparaissent dans la liste des personnes que je peux attaquer :

Code PHP :
<?php 
$mon_perso1
= mysql_query("SELECT pseudo1 FROM joueurs_sda WHERE pseudo1='$pseudo'");
$mon_perso2 = mysql_query("SELECT pseudo2 FROM joueurs_sda WHERE pseudo1='$pseudo'");

(Ces requêtes fonctionnent dans la bdd)

Pour ce qui est du script :

Code PHP :
<?php 
while ($persos = mysql_fetch_array($resultat))
{
if(
$persos['pseudo'] != $mon_perso1 && $persos['pseudo'] != $mon_perso2)
$output .="<option value=\"".$persos['pseudo']." \">(".$persos['coord_x']."/".$persos['coord_y'].") -- ".$persos['pseudo']." (".$persos['camp_gen']." - ".$persos['camp'].")</option>";


Seuelement ça affiche quand même mes persos dans la liste, et quand je fais un test == personne n'apparait dedans, donc il y a un problème au niveau de ma condition.

Y a t il une fonction en php pour comparer deux chaines de caractère comme en C/C++ avec le strcmp()?


RE: Requete ne fonctionnant pas - pascal - 27-06-2007

tes variables $mon_perso* sont des ressources, pas des lignes de résultat. révise les bases de l'utilisation de MySQL avec PHP, ça t'évitera pas mal de problèmes de ce genre.

A+

Pascal


RE: Requete ne fonctionnant pas - Nessper - 27-06-2007

T'as posé la même question dans un autre topic.
Code PHP :
<?php 
$mon_perso1
= mysql_query("SELECT pseudo1 FROM joueurs_sda WHERE pseudo1='$pseudo'");
là tu fais seulement ta requête, maintenant il fut que tu extrais les résultats
Code PHP :
<?php 
$row
= mysql_fetch_row($mon_perso1);
et dans $row[0] tu as ton résultat.

Te précipite pas ici dès que tu rencontre le moindre probleme, réfléchis un peu d'abord...


RE: Requete ne fonctionnant pas - V1nc3 - 27-06-2007

-_-
C'est vrai que je pense jamais a faire un array pour UNE valeure, je test comme ça voir Undecided
C'est un réflexe que j'ai pas encore (ça viendra d'ici quelques semaines a mon avis, la j'en suis encore qu' a la première :S)


RE: Requete ne fonctionnant pas - Nessper - 27-06-2007

ça c'est une erreur qu'on a tous commis, je t'en veux pas. Mais prochaine fois ne te précipite pas, cherche d'abord par toi même un peu plus de 3 minutes.


RE: Requete ne fonctionnant pas - V1nc3 - 27-06-2007

ça fais plus d'une heure que je suis dessus
le temps de chercher d'autre solus, de trouver la fonction de comparaison etc etc etc...
Seulement, même en mettant dans un array, ça ne fonctionne pas :S


RE: Requete ne fonctionnant pas - Nessper - 27-06-2007

quand t'ecris ta requete dans phpmyadmin ca te sors un résultat ?
Si c'est le cas c'est que ta requête est bonne.
Code PHP :
<?php 
$mon_perso1
= mysql_query("SELECT pseudo1 FROM joueurs_sda WHERE pseudo1='$pseudo'") or die(mysql_error());
$row = mysql_fetch_row($mon_perso1);
// $row[0] contient le pseudo du joueur
normalement ça devrait marcher si ta requête est bonne.
Tiens au passage : mets toujours le or die(mysql_error()) c'est très pratique.


RE: Requete ne fonctionnant pas - V1nc3 - 28-06-2007

Oui ma requete fonctionne sous esay php (je crois que je l'ai précisé), c'est la comparaison qui ne fonctionne pas :S

Et j'ai aucune idée pourquoi, j'ai fais avec des ==, !=, <>, strcmp rien n'y fais.


RE: Requete ne fonctionnant pas - V1nc3 - 28-06-2007

En bidouillant un peu, j'y suis arrivé.
-> listes des personnes pouvant être attaqué -> FINI
-> attaquer une cible (toucher et degats) -> FINI