26-06-2007, 07:13 PM
Voilà, j'ai fait ça récemment :
Code PHP :
<?php
$requete=mysql_query('SELECT marchable,Pseudo,Nom FROM decors,rat,pnj WHERE (decors.Pos_x='.$dirx.' AND decors.Pos_y='.$diry.') OR (rat.Pos_x='.$dirx.' AND rat.Pos_y='.$diry.') OR (pnj.Pos_x='.$dirx.' AND pnj.Pos_y='.$diry.')') or die(mysql_error());
$cause=mysql_fetch_assoc($requete);
$erreurdecors=$cause['marchable'];
$erreurjoueur=$cause['Pseudo'];
$erreurpnj=$cause['Nom'];
if(empty($cause)){$testdeplacement='true';}
if(isset($erreurdecors)){echo $erreurdecors;}
if(isset($erreurjoueur)){echo $erreurjoueur;}
if(isset($erreurpnj)){echo $erreurpnj;}
if (isset($testdeplacement)){echo 'ok';}
}
L'intérêt c'était d'aller chercher dans 3 tables différentes ce qu'il pouvait y avoir sur une case (selon une coordonnée donc) afin de me dire si oui ou non la case était déjà occupé.
ça marche à peu près jusqu'à ce que je rentre dans les détails ou je m'embrouille. Tant qu'il s'agit de savoir si la case est vide ou non, je réussissais comme je le voulais, mais là, il s'agit de savoir par quoi la cause est occupé (un individu ou un obstacle). Mais là, ça ne marche plus du tout. J'ai essayé, comme vous le voyez d'afficher mes variables et là, je découvre qu'il s'agit tout le temps des mêmes, quelque soit ma position et quelque soit le joueur.
Je voulais donc savoir si ce que je voulais faire était réalisable et si oui comment...
Merci d'avance...