Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 18-02-2008 23:06:46

Lereyn
Membre
Date d'inscription: 09-12-2007
Messages: 29

php et les commandes mysql

Bonjour a vous,
Je suis suis sur quelques script en php et la je bloque hmm
J utilise ce code pour recuperer l'ID d un objet en possession d'un joueur.

Code:

$db_user = "dbuser";
$db_pass = "dbpass";
$db_name = "db";
$db_serv = "localhost";
$db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Connection a [$db_serv] impossible");
mysql_select_db ( $db_name );
$result = mysql_query("SELECT `object_id` FROM items WHERE `owner_id` = '$id' AND `loc` = 'PAPERDOLL'");
while($row = mysql_fetch_row($result)){
$itemideq = $row[0]; }

Cependant, le joueur ayant plus d'un seul items sur lui, il faut que dans ma boucle je puisse obtenir le nom de l item
via une autre boucle sur une autre table et lorsque je fais comme ci-dessous cela ne fonctionne pas

Code:

$db_user = "dbuser";
$db_pass = "dbpass";
$db_name = "db";
$db_serv = "localhost";
$db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Connection a [$db_serv] impossible");
mysql_select_db ( $db_name );
$result = mysql_query("SELECT `object_id` FROM items WHERE `owner_id` = '$id' AND `loc` = 'PAPERDOLL'");
while($row = mysql_fetch_row($result)){
$itemideq = $row[0];
$result2 = mysql_query("SELECT `name` FROM etcitems WHERE `item_id` = '$itemideq'");
while($row2 = mysql_fetch_row($result2)){
$itemeq = $row2[0]; 
echo $itemeq."<br />"; } }

(PS: biensur $id est defini, par methode POST et ensuite recupére)
Ce code ne me retourne absolument rien hmm//
Pourtant, j ai teste les deux requètes via phpmyadmin et cela me retourne les bonnes valeurs.
Quelqu'un peut-il m'aider ?

Merci.

Dernière modification par Lereyn (18-02-2008 23:08:22)

Hors ligne

 

#2 19-02-2008 02:51:32

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 566
Site web

Re: php et les commandes mysql

ça m'a l'air correct.
affiche les requêtes SQL envoyées à l'aide d'un echo et tu verras exactement ce que tu envoies à mysql

Hors ligne

 

#3 27-02-2008 08:10:07

Jeef
Membre
Lieu: Liege, Belgique
Date d'inscription: 04-04-2007
Messages: 9
Site web

Re: php et les commandes mysql

bonjour

Suis pas un pro, mais il me semble que tu peux faire une jointure interne avec tes deux tables et récupérer le résultat dans la boucle

a une seule condition :
en supposant que l'id de l'item soit présent dans les deux tables ( ce qui paraitrait logique, 1ere table le joueur possede l'item 'n' et deuxieme table, l'item 'n' a telles caractéristiques)

tu devrais pouvoir faire une requete du genre, qui te retournait en une fois les caractéristique "de l'item que le joueur possede"

ce qui donnerait une requete qui se présenterait comme ceci

Code:

SELECT table_joueur.item_id, table_item.nom
FROM table_joueur, table_item
WHERE table_joueur.owner_id='$id' 
 AND table_joueur.loc='paperdoll'
 AND table_joueur.item_id = table_item.item_id

a moins qu'un joueur ne puisse posséder plusieurs fois le même item, tu n'es même pas obligé de passer par un WHILE ( puisqu'il ne devrait retourner qu'une ligne)

A moins bien sûr que quelque chose ne m'échappe :-)
Bonne journée

Hors ligne