Image cliquable

Petit nouveau ! | 7 Messages

22 avr. 2010, 22:53

Salut à tous !
Modifié en dernier par Radiohead le 06 mai 2010, 17:53, modifié 1 fois.

Petit nouveau ! | 7 Messages

23 avr. 2010, 20:46

Pas de réponses... Peut-être ce n'est pas clair ? #-o
Est ce qu'à votre avis, c'est possible de le faire avec du php ? Que je ne me prenne pas la tête pour rien...
Merci !

Eléphant du PHP | 109 Messages

23 avr. 2010, 21:08

Bonjour,

je ne suis pas sûr de bien comprendre.
Tu aurais donc un table qui répertorie les coordonnées de chaque <area>? Si tel est le cas, il suffit de te connecter à ta base, récupérer les coordonnées et faire une petite boucle.
<?php
//Insérer ici la connection à la base et la sélection de la base

echo '<map name="nuage de points">';

$query = mysql_query("SELECT tesCoordonnees FROM taTable WHERE taClauseWhere");
while($donnees = mysql_fetch_assoc($query))
{
      echo '<area shape="rect" coords="'. $donnees['coordonnee1'] . ',' . $donnees['coordonnee2'] . ',' . $donnees['coordonnee3'] . ',' . $donnees['coordonnee4'] . '"     href="http://blabla.com/" alt="blabla">';
} 

echo '</map>';

?>
Code à adapter à tes besoins bien sûr.
J'espère t'avoir rapprocher d'une réponse :)

Bonne continuation ;)
ANSI <font> <font> <font> <li> <p> <title> Mar I/O .NET

Petit nouveau ! | 7 Messages

24 avr. 2010, 15:21

Bonjour !
Modifié en dernier par Radiohead le 06 mai 2010, 17:54, modifié 1 fois.

Mammouth du PHP | 661 Messages

25 avr. 2010, 00:43

<?php
//Insérer ici la connection à la base et la sélection de la base

echo '<map name="nuage de points">';
heuu ... tu es connectée à la bdd !?
while ($donnees = $reponse->fetch())
{
      echo '<area shape="rect" coords="'. $donnees['Coordx1'] . ',' . $donnees['Coordy1'] . ',' . $donnees['Coordx2'] . ',' . $donnees['Coordy2'] . '"     href="http://blabla.com/" alt="blabla">';
 }
while est une boucle qui va afficher les résulta pour chacune des lignes de la table, donc pas necessaire de metre 200 echo ;)

place
$reponse = $bdd->query("SELECT * FROM tablette LIMIT 1,1");
print_r($reponse->fetch());
histoire de voir si ça te retourne bien les lignes voulues ;)

as tu quelque chose de généré !? (en html dans ta page)

@++

Petit nouveau ! | 7 Messages

25 avr. 2010, 11:17

heuu ... tu es connectée à la bdd !?
Oui oui j'y suis connectée :D
while est une boucle qui va afficher les résulta pour chacune des lignes de la table, donc pas necessaire de metre 200 echo ;)
J'ai mis les 200 echo parce que mon "href" et mon "alt" change à chaque fois...
place
$reponse = $bdd->query("SELECT * FROM tablette LIMIT 1,1");
print_r($reponse->fetch());
histoire de voir si ça te retourne bien les lignes voulues ;)

as tu quelque chose de généré !? (en html dans ta page)

@++
Ca me donne :

Array ( [Noms] => A1 [0] => A1 [Coordx1] => 11 [1] => 11 [Coordy1] => 10 [2] => 10 [Coordx2] => 59 [3] => 59 [Coordy2] => 29 [4] => 29 )

sur ma page HTML...
Donc ça me retourne bien les coordonnées pour UN SEUL point cliquable (cf. http://www.izipik.com/images/201004/24/ ... yadmin.jpg)) et ça me donne pas les autres ?

Mammouth du PHP | 661 Messages

25 avr. 2010, 13:39

$reponse = $bdd->query("SELECT * FROM tablette LIMIT 1,1"); 
Donc ça me retourne bien les coordonnées pour UN SEUL point cliquable
tu le vois le pb ou pas !?

Petit nouveau ! | 7 Messages

25 avr. 2010, 13:46

Oui je l'ai vu plus tard, je l'ai changé en LIMIT 1,8 :D
Mais ça résout pas mon problème pour autant... Je n'ai toujours pas de zones cliquables sur mon image... mais sinon le reste est correct ?

Mammouth du PHP | 661 Messages

25 avr. 2010, 14:07

J'ai mis les 200 echo parce que mon "href" et mon "alt" change à chaque fois...
ben dans l'état, à chaque tour de while, il va créé x cellules cliquables superposées, avec les même coordonnées, mais des urls différentes donc il serait préférable de rentrer l'url et le alt dans des colonnes supplémentaire de ta table et ne créer qu'une zone par boucle !... ça t'évitera des soucy par la suite !
je l'ai changé en LIMIT 1,8 :D
le print_r() te retourne quoi maintenant ?

et si tu place print_r($donnees) ; dans la boucle while ... est ce que ça te retourne array( ... ) pour l'ensemble des lignes de ton tableau ??

// excuses moi, si je ne te donnes pas la réponse que tu cherches, il est préférable que je te mette sur la piste ... si tu veux progresser ;)

Petit nouveau ! | 7 Messages

25 avr. 2010, 14:37

je l'ai changé en LIMIT 1,8 :D
le print_r() te retourne quoi maintenant ?
Le print_r() me retournait la même chose qu'avec LIMIT 1,1
et si tu place print_r($donnees) ; dans la boucle while ... est ce que ça te retourne array( ... ) pour l'ensemble des lignes de ton tableau ??
J'ai effacé les href et alt dans un premier temps, je verrais ça plus tard...

Le print_r dans la boucle while me donne l'ensemble des lignes de mon tableau :
Array ( [Noms] => A1 [0] => A1 [Coordx1] => 11 [1] => 11 [Coordy1] => 10 [2] => 10 [Coordx2] => 59 [3] => 59 [Coordy2] => 29 [4] => 29 ) Array ( [Noms] => A2 [0] => A2 [Coordx1] => 42 [1] => 42 [Coordy1] => 36 [2] => 36 [Coordx2] => 96 [3] => 96 [Coordy2] => 57 [4] => 57 ) Array ( [Noms] => A3 [0] => A3 [Coordx1] => 42 [1] => 42 [Coordy1] => 59 [2] => 59 [Coordx2] => 78 [3] => 78 [Coordy2] => 80 [4] => 80 ) Array ( [Noms] => A4 [0] => A4 [Coordx1] => 100 [1] => 100 [Coordy1] => 26 [2] => 26 [Coordx2] => 152 [3] => 152 [Coordy2] => 58 [4] => 58 ) Array ( [Noms] => A5 [0] => A5 [Coordx1] => 27 [1] => 27 [Coordy1] => 113 [2] => 113 [Coordx2] => 93 [3] => 93 [Coordy2] => 134 [4] => 134 ) Array ( [Noms] => A6 [0] => A6 [Coordx1] => 100 [1] => 100 [Coordy1] => 138 [2] => 138 [Coordx2] => 163 [3] => 163 [Coordy2] => 159 [4] => 159 ) Array ( [Noms] => A7 [0] => A7 [Coordx1] => 207 [1] => 207 [Coordy1] => 77 [2] => 77 [Coordx2] => 266 [3] => 266 [Coordy2] => 101 [4] => 101 ) Array ( [Noms] => A8 [0] => A8 [Coordx1] => 282 [1] => 282 [Coordy1] => 62 [2] => 62 [Coordx2] => 344 [3] => 344 [Coordy2] => 85 [4] => 85 )

Mais est-ce que mes coordonnées sont placées dans mon code :

Code : Tout sélectionner

{ echo '<area shape="rect" coords="'. $donnees['Coordx1'] . ',' . $donnees['Coordy1'] . ',' . $donnees['Coordx2'] . ',' . $donnees['Coordy2'] . '" >'; }
Apparemment non, car j'ai pas mes zones cliquables... Que faire ?
// excuses moi, si je ne te donnes pas la réponse que tu cherches, il est préférable que je te mette sur la piste ... si tu veux progresser ;)
Pas de soucis, je veux bien comprendre (même si c'est laborieux d'apprendre toute seule à partir de zéro...)

Mammouth du PHP | 661 Messages

25 avr. 2010, 16:38

Apparemment non, car j'ai pas mes zones cliquables... Que faire ?
regarde le script HTML généré (ctrl+U ou afficher source) et regarde si ce n'est pas généré ... la boucle tourne sur toutes les lignes de ta table, le echo dois donc les envoyer !...

maintenant, le soucy est p-e du à l'HTML ... ;)

Mammouth du PHP | 661 Messages

25 avr. 2010, 16:40

echo '<map name="nuage de points">';
echo '<img src="images/points.jpg" width="1000" height="1000" border="0" alt="nuage_de_points" usemap="#carte">';
:shock: :wink:

Petit nouveau ! | 7 Messages

25 avr. 2010, 17:06

Merci infiniment Nours312 pour ton aide précieuse ! Merci encore à SinBert aussi !
C'est bon ça marche §§§ YES §§§§§§§§ :D