JeuWeb - Crée ton jeu par navigateur
Problème requête SQL - 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 : Problème requête SQL (/showthread.php?tid=2285)



Problème requête SQL - Valter - 15-01-2008

Bonjour à tous, mon problème est le suivant :
Pour mon script d'achat de batiments, j'utilise deux table jointes par un LEFTJOIN.
Voici le code :
Code PHP :
<?php 
mysql_query
("SELECT * FROM Users LEFT JOIN Infra ON Users.Her$ = Infra.Pseudo1 WHERE Pseudo = '$pseudo' OR Pseudo1 = '$pseudo'");
:ninga:

Or, j'espérai que, en utilisant 'OR', le script selectionnerai la partie de Users où le pseudo était celui du joueur et également dans la partie Infra. Malheueusement ce n'est pas le cas, ca me met que des NULL dans la table Infra :mauvais:. Que puis je faire ? Remplacer le 'OR', surement ?
Merci d'avance,[/php]


RE: Problème requête SQL - Darkiwi - 15-01-2008

Déjà pour commencer, rajoute un or die(mysql_error()); à la fin de ta requete, il te renverra une erreur précise, et la je pourrais t'aider. Wink


RE: Problème requête SQL - uriak - 15-01-2008

il manque des infos, décris tes deux tables

je suppose que user.Her (pourquoi un $ derrière?) est l'id de l'utilisateur

où sont pseudo et pseudo1 ?


RE: Problème requête SQL - Valter - 15-01-2008

Pseudo = Le Pseudo dans la table Users
Pseudo1 = Le Pseudo dans la table Infra

Je voudrais juste avoir, en rassemblant les deux tables, une grande table avec la partie où Pseudo et Pseudo1 = le pseudo du joueur.


RE: Problème requête SQL - uriak - 15-01-2008

il peut y avoir plusieurs infra par joueur ? ou une seule ? la relation est pas claire.


RE: Problème requête SQL - Valter - 15-01-2008

Users = Table 1
Infra = Table 2

Désolé si ce n'est pas très clair...


RE: Problème requête SQL - Valter - 15-01-2008

D'accord, mais ce que je cherche à faire c'est de lister dans les DEUX tables les parties où Pseudo ( pour la table Users ) ET Pseudo1 ( pour la table Infra ) correspondent au pseudo de l'utilisateur.


RE: Problème requête SQL - uriak - 15-01-2008

SELECT * FROM Users, Infra WHERE Users.Pseudo = "$pseudo" AND Infra.Pseudo1="$pseudo"

mais à mon avis tu vas avoir des infos redondantes... enfin si l'une des tables possède plusieurs entrées avec le bon pseudo.
Tu devrais plutôt nous décrire la fonction que tu veux réaliser, nous te dirons ce que tu dois chercher à récupérer.


RE: Problème requête SQL - Valter - 15-01-2008

Ah, oui, merci bien ! Je n'avais nullement besoin du LEFTJOIN, en fin de compte...