JeuWeb - Crée ton jeu par navigateur
[résolu] pb jointure tables? - 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ésolu] pb jointure tables? (/showthread.php?tid=614)

Pages : 1 2


[résolu] pb jointure tables? - YVES - 07-01-2007

Bonjour,

J'ai repris le script de map à Carlou et l'ai modifié par rapport à mon projet.
je coince aujourd'hui sur autre chose:
comment afficher seulement le lieu ou se trouve le joueur (posx et posy sont en table "membres", et posx posy aussi en table "map")..........

j'ai fait celà mais ca ne fonctionne pas:toilette:

<?php
session_start();
$id = $_SESSION['id'];
$db= mysql_connect(localhost, xxxx) or die("Impossible de se connecter à la base de données");
mysql_select_db('xxxxxxl',$db) or die('Erreur de selection base'.mysql_error());
//on va chercher la position du joueur
$requete = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id .";");
$sql = mysql_fetch_array ($requete);
$posx = $sql['posx'];
$posy = $sql['posy'];
//on va afficher le terrain de la map
$sql = mysql_query("SELECT img, posx, posy FROM map WHERE posx AND posy ") or die(mysql_error());
while ($data = mysql_fetch_array($sql)) {
$TabMAP1[$data['posx']][$data['posy']] = $data['img'];
}
mysql_free_result($sql);
//affichage du terrain
echo '<table border="1" cellspacing="0" cellpadding="0">'."\n";
echo '<tbody>'."\n";

mysql_close();
?>


RE: pb jointure tables? - fiatt - 07-01-2007

YVES a écrit :$sql = mysql_query("SELECT img, posx, posy FROM map WHERE posx AND posy ") or die(mysql_error());

Il manquerai pas quelque chose içi?
Code PHP :
<?php 
WHERE posx
AND posy
ça ne veut rien dire...

(pense à utiliser la balise php)


RE: pb jointure tables? - gtsoul - 08-01-2007

si ca veut dire
WHERE 1 AND 1 car les constantes sont non-nulles
donc WHERE 1 => on prend tous les résultats


RE: pb jointure tables? - Roworll - 08-01-2007

Code PHP :
<?php 
// Ici,, tu récupère la position X/Y de ton perso
$requete = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id .";");

//On affecte le resultset dans la variable $SQL avec mysql_fetch_assoc, plus convenable que mysql_fetch_array.
$rsa= mysql_fetch_assoc ($requete);

//Là, on va chercher la case de la map qui correspond au X/Y de ton perso
$rsb = mysql_query("SELECT img, posx, posy FROM map WHERE posx =".$rsa['posx']." AND posy=".$rsa['posy']) or die(mysql_error());

//Ensuite, tu peux exploiter ton résultat
while ($data = mysql_fetch_assoc($rsb)) {
....

En résumé, la partie where PosX and PosY veut bien dire quelque chose (comme l'a bien expliqué gtsoul) mais dans ce cas, il faut complèter le Where avec les coordonnées que l'on recherche.


RE: pb jointure tables? - gtsoul - 08-01-2007

c'est de la logique pure
[Instructions à réaliser] WHERE [choix des lignes selon conditions à remplir]


RE: pb jointure tables? - fiatt - 08-01-2007

ok.

J'ai encore perdu une occasion de me taire... Sad


RE: pb jointure tables? - denisc - 10-01-2007

lol
bienvenue chez les humains Smile


RE: pb jointure tables? - fiatt - 11-01-2007

Oui lol
J'oublie parfois que je suis débutant et non confirmé!
Mes erreurs me permettent néanmoins de tester mes connaissances...


RE: pb jointure tables? - YVES - 13-01-2007

Moi aussi, je débute toujours et mon script affiche une page blanche, ou serait l'erreur?! :wowowow:

Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$db= mysql_connect(localhost, xxxx) or die("Impossible de se connecter à la base de données");
mysql_select_db('xxxxxx',$db) or die('Erreur de selection base'.mysql_error());
//on va chercher la position du joueur
$requete = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id .";");
//On affecte le resultat dans la variable $SQL avec mysql_fetch_assoc !
$rsa= mysql_fetch_assoc ($requete);
//$posx = $rsa['posx'];
//$posy = $rsa['posy'];
//Là, on va chercher la case de la map qui correspond au X/Y de ton perso
$rsb = mysql_query("SELECT img, posx, posy FROM map WHERE posx =".$rsa['posx']." AND posy=".$rsa['posy']) or die(mysql_error());
while (
$data = mysql_fetch_assoc($rsb)) {
// $TabMAP[$data['posx']][$data['posy']] = $data['img'];
echo $data['img'];
}
mysql_close();
?>



RE: pb jointure tables? - Loetheri - 13-01-2007

[php]$requete = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id .";");[//php]

Pourquoi ce point virgule à l'intérieur de la parenthèse ?