JeuWeb - Crée ton jeu par navigateur
Image cliquable en PHP ? - 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 : Image cliquable en PHP ? (/showthread.php?tid=3059)



Image cliquable en PHP ? - Rouge - 16-09-2008

Bonjour,

La question est dans le titre de ce topic, est-ce possible?
J'utilise le tuto de map de Carlou qui donne celà pour afficher les icones des persos présents au meme endroit:
Code PHP :
<?php
// --- pour finir, on affiche les autres persos s'il y en a
$rsc = mysql_query("SELECT avatar FROM membres WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']) or die(mysql_error());

while (
$data = mysql_fetch_assoc($rsc)) {
// -- affichage : boucle sur les résultats
echo '<td width="100%" align="center" >';
echo
'<img src="./avatars/'.$data['avatar'].'" alt="" />';
echo
'</td>';
}
?>
Je voudrais pouvoir cliquer sur chaque avatar présent sur la meme case afin d'interagir ensuite directement avec: dialogues, commerce, attaque, etc...


RE: Image cliquable en PHP? - Kassak - 16-09-2008

Une image cliquable en php?

Oulalala, c'est je pense un des trucs les plus durs à faire...

(message ironique)

(C'est un des trucs que tu apprends en lisant par exemple un tuto de débutant sur le site du zéro)


RE: Image cliquable en PHP? - Sephi-Chan - 16-09-2008

C'est du HTML tout bête : il te suffit d'encadrer ton image de balise <a> pour faire un lien et dedans. Tu indiques la page d'interaction à laquelle tu passes l'identifiant du membre avec qui tu veux intéragir (pour cela, il ne faut pas oublier d'inclure cet identifiant dans la clause SELECT de ta requête).

Par exemple :
Code PHP :
<?php
$rsc
= mysql_query("SELECT id, avatar FROM membres WHERE posx={$rsa['posx']} AND posy={$rsa['posy']};") or die(mysql_error());

while(
$data = mysql_fetch_assoc($rsc)):
?>

<td width="100%" align="center" >
<a href="interagir.php?membre=<?php echo $id; ?>"><img src="./avatars/<?php echo '.$data['avatar']; ?>" alt="" /></a>
</td>

<?php
endwhile;
?>


Sephi-Chan


RE: Image cliquable en PHP? - Wells - 16-09-2008

Allez j'ai envi de fair emon chieur avec Sephi:

Code PHP :
<?php
$rsc
= mysql_query("SELECT id, avatar FROM membres WHERE posx={$rsa['posx']} AND posy={$rsa['posy']};") or die(mysql_error());

while(
$data = mysql_fetch_assoc($rsc)):
?>

<td width="100%" align="center" >
<a href="interagir.php?membre=<?=$id ?>"><img src="./avatars/<?=$data['avatar] ?>" alt="" /></a>
</td>

<?php
endwhile;
?>



RE: Image cliquable en PHP? - orditeck - 16-09-2008

@Wells : <? ?> ainsi que <?= sont variables selon la configuration du serveur. <? (short tag) peut être désactivé.
Attention aux cadeaux empoisonnés Tongue


RE: Image cliquable en PHP? - Wells - 16-09-2008

C'est tout à fait exact bien que assez anecdotique Wink


RE: Image cliquable en PHP? - Sephi-Chan - 16-09-2008

Exact, j'avais homis la concaténation. Merci Oxman. ^^'

Wells, je pense sincèrement (et la documentation me donne raison) qu'il ne sert à rien de jouer avec le feu en utilisant les short tag : on n'y gagne rien et on prend des risques. Smile


Sephi-Chan


[RESOLU] Image cliquable en PHP? - Rouge - 17-09-2008

Faire 1 lien html pour une image cliquable n'était pas 1 problème en soi, ce que je ne savais pas, c'était cette syntaxe par rapport à l'id du joueur
<a href="interagir.php?membre=<?php echo $id; ?>">

Merci à tous (h)


RE: [Résolu] Image cliquable en PHP ? - Cartman34 - 18-09-2008

Personne n' aexpliqué à Rouge les notions de serveur et client.
Le HTML est un langage s'exécutant coté client, c'est à dire par le navigateur.
Le php est un langage s'exécutant coté serveur.
Ce que tu codes en PHP n'est que sur le serveur ! une des raisons pour laquelle son code source n'est pas visible.
Le HTML, en revanche, est visible par tous.

Les fonctions d'affichage comme echo envoient des les données au navigateur et c'est pour cela que les header() ne peuvent être utilisés à la suite...
Ce sont des explications brèves mais suffisantes pour un débutant.

J'espère ne plus revoir ce genre de question sur ce forum...