par
Shenryu » 27 août 2005, 18:08
Euh je reviens parce qu'en fait j'ai toujours un problème lié à ces fameuses images... En fait j'aimerai créer une carte sur laquelle des bonhommes pourront se déplacer. J'ai donc besoin d'afficher deux images en même temps. Pour cela j'utilise un td background suivi d'un img src qui contiendra le bonhomme. Voici le code que j'ai utilisé :
//Variable à modifier
$carte='1';
$x=1; $y=1;
//Boucle d'affichage de 11 cases sur 11
echo "<table border='1' bordercolor='black' cellpadding='0' cellspacing='0'>";
for ($y = 1; $y <= 11; $y++)
{
echo "<tr><td>$y</td>";
$x = 1;
for ($x = 1; $x <= 11; $x++)
{
//Requête pour l'affichage d'un pj, d'un pnj ou d'un objet.
$objet=mysql_query("
SELECT objet FROM `th_position` where id_carte=$carte and x=$x and y=$y;
");
//Requête pour l'affichage du type de terrain
$terrain=mysql_query("
SELECT type FROM `th_position` where id_carte=$carte and x=$x and y=$y;
");
if ($objet == NULL)
{
echo "<td><img src=\"".mysql_result($terrain, 0)."\"></td>";
}
elseif ($objet != NULL)
{
switch($objet)
{
//Si l'objet est un pj
case 1:
{
$image=mysql_query("
SELECT image FROM `th_user` where id_carte=$carte and x=$x and y=$y;
");
}
//Si l'objet est un pnj
case 2:
{
$image=mysql_query("
SELECT image FROM `th_pnj` where id_carte=$carte and x=$x and y=$y;
");
}
//Si l'objet est un objet
case 3:
{
$image=mysql_query("
SELECT image FROM `th_objetcarte` where id_carte=$carte and x=$x and y=$y;
");
break;
}
}
//Affichage général
echo "<td background=\"".mysql_result($terrain, 0)."\"><img src=\"".mysql_result($image, 0)."\"></td>";
};
//Retour à la ligne lorsque la première ligne est complète
if ($x == 11)
{
echo "</tr>";
};
};
};
//Fin du tableau
echo "</table>";
Et voici l'erreur qui m'est indiqué :
Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 5 in /var/www/free.fr/5/8/shenryu72/Carte/affichage.php on line 59
La ligne 59 est le echo mis en rouge plus haut.
J'ai essayé de rajouter un défaut à la fin de mon switch mais rien n'y change. Si je fais un echo dans le switch ce qui rend le code un peu moins bon, je n'ai qu'une erreur de ce type qui se situe à l'endroit où le joueur se trouve ($objet == 1). Et l'erreur que l'on m'indique se situe sur le case suivant ici case 2.
Euh je reviens parce qu'en fait j'ai toujours un problème lié à ces fameuses images... En fait j'aimerai créer une carte sur laquelle des bonhommes pourront se déplacer. J'ai donc besoin d'afficher deux images en même temps. Pour cela j'utilise un td background suivi d'un img src qui contiendra le bonhomme. Voici le code que j'ai utilisé :
[php]//Variable à modifier
$carte='1';
$x=1; $y=1;
//Boucle d'affichage de 11 cases sur 11
echo "<table border='1' bordercolor='black' cellpadding='0' cellspacing='0'>";
for ($y = 1; $y <= 11; $y++)
{
echo "<tr><td>$y</td>";
$x = 1;
for ($x = 1; $x <= 11; $x++)
{
//Requête pour l'affichage d'un pj, d'un pnj ou d'un objet.
$objet=mysql_query("
SELECT objet FROM `th_position` where id_carte=$carte and x=$x and y=$y;
");
//Requête pour l'affichage du type de terrain
$terrain=mysql_query("
SELECT type FROM `th_position` where id_carte=$carte and x=$x and y=$y;
");
if ($objet == NULL)
{
echo "<td><img src=\"".mysql_result($terrain, 0)."\"></td>";
}
elseif ($objet != NULL)
{
switch($objet)
{
//Si l'objet est un pj
case 1:
{
$image=mysql_query("
SELECT image FROM `th_user` where id_carte=$carte and x=$x and y=$y;
");
}
//Si l'objet est un pnj
case 2:
{
$image=mysql_query("
SELECT image FROM `th_pnj` where id_carte=$carte and x=$x and y=$y;
");
}
//Si l'objet est un objet
case 3:
{
$image=mysql_query("
SELECT image FROM `th_objetcarte` where id_carte=$carte and x=$x and y=$y;
");
break;
}
}
//Affichage général
echo "<td background=\"".mysql_result($terrain, 0)."\"><img src=\"".mysql_result($image, 0)."\"></td>";
};
//Retour à la ligne lorsque la première ligne est complète
if ($x == 11)
{
echo "</tr>";
};
};
};
//Fin du tableau
echo "</table>";[/php]
Et voici l'erreur qui m'est indiqué :
[quote]Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 5 in /var/www/free.fr/5/8/shenryu72/Carte/affichage.php on line 59[/quote]
La ligne 59 est le echo mis en rouge plus haut.
J'ai essayé de rajouter un défaut à la fin de mon switch mais rien n'y change. Si je fais un echo dans le switch ce qui rend le code un peu moins bon, je n'ai qu'une erreur de ce type qui se situe à l'endroit où le joueur se trouve ($objet == 1). Et l'erreur que l'on m'indique se situe sur le case suivant ici case 2.