Href dans une balise <td>

Résolu/Fermé
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 - 19 oct. 2011 à 19:30
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 - 19 oct. 2011 à 20:42
Bonjour,
je suis en train de faire un jeu en php (du genre OGame).
Je suis en train de faire la carte et j'ai un soucis.

Donc, voilà mon algorithme :
1)On initialise les positions en x et en y sur les coordonnées de l'utilisateur
2)On recherche (via une commande sql) la liste des joueurs qui sont espacé de 5 cases du joueurs (pour avoir un tableau en x -5 à +5 et en y -5 à +5
3)La liste des joueurs (position absolue + idJoueur) est stockée dans un tableau.
4)On fait un tableau HTML (avec 2 "pour")
5)Pour chaque cases du tableau, on vérifie si elle est occupée ou pas via le tableau créé en (3)
6)Selon que la case soit pleine ou vide, elle est différente (par exemple rouge pour pleine, et verte pour vide)
7)Il faut que chaque case soit clickable et renvoie via la méthode GET vers une page joueur.php

Donc, dans un premier temps, j'ai l'impression que cet algorithme est très lourd; avez-vous une autre solution ?

Ensuite, je n'arrive pas à faire mon point 7, voilà mon code:
echo "<td onclick='window.location.href='".$lien."' bgcolor='#FF00FF' width='75' height='75'>";

Non seulement, ma case n'est pas carrée (75px/75px), mais elle n'est pas clickable...
D'où vient le problème ? J'ai testé en HTML, la case est clickable, même si elle ne contient rien...

PS: la balise <td> est refermée un peu plus loin.


A voir également:

4 réponses

vincebzh Messages postés 137 Date d'inscription lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
19 oct. 2011 à 19:44
Salut, essaye avec ça:
echo "<td onclick='window.location.href=\"".$lien."\"' bgcolor='#FF00FF' width='75' height='75'>";

Tu as oublié d'échapper le lien dans le onclick.

Au passage, c'est très moche le bgcolor, width & height (plus valide depuis HTML4 - 1999).
Utilises plutôt des class CSS.
0
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
19 oct. 2011 à 20:00
oui, en fait, le bgcolor et width/height, c'était en attendant d'avoir une "vraie" carte ^^
Je vais essayer le changement que tu as écrit.
merci
0
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
19 oct. 2011 à 20:03
Ca n'a malheureusement pas marché.
Voilà ce que $lien peut contenir (par exemple):
"onClick=window.location.href="joueur.php?p= 0"

Les guillemets sont bien dans la variable.
0
vincebzh Messages postés 137 Date d'inscription lundi 22 mars 2010 Statut Contributeur Dernière intervention 7 mai 2013 29
19 oct. 2011 à 20:11
Tu as fait un copié collé de ce que je t'ai donné ou tu a modifié la ligne à la main ?

Dans l'exemple que tu montre, il manque les apostrophes autour du onclick.

Dans le doute, tu peux aussi ajouter un addslashes autour du lien :
Exemple :
<?php
	$lien = 'http://google.com';
	echo '<table><tr>';
	echo "<td onclick='window.location.href=\"".addslashes($lien)."\"' bgcolor='#FF00FF' width='75' height='75'>";
	echo '</tr></table>';
?> 
0
anatolekadel Messages postés 102 Date d'inscription jeudi 26 mai 2011 Statut Membre Dernière intervention 18 novembre 2011 3
19 oct. 2011 à 20:42
C'est bon, j'ai utilisé la fonction addslashes() (très pratique d'ailleurs, je ne connaissais pas).
Merci
[RESOLU]
0