While + <area>?

Fermé
emmanuelcoppey - Modifié par emmanuelcoppey le 5/11/2011 à 18:11
 emmanuelcoppey - 6 nov. 2011 à 12:50
Bonjour,
Je voudrais, pour mon site, avoir la possibilité de faire une map (html) avec des données provenants d'ne table sql.
Voici mon code :
<?php 
try 
{ 
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; 
    $bdd = new PDO('mysql:host=localhost;dbname=matable', 'root', 'root', $pdo_options); 
     
    $req = $bdd->prepare('SELECT src, nom, coord FROM image WHERE src = ?'); 
    $req->execute(array($_GET['src'])); 
     
    echo '<map name="testmap">'; 
    while ($donnees = $req->fetch()) 
    { 
        echo '<area shape="circle" coords="' . $donnees['coord'] . ',20" href="voir.php?nom=' . $donnees['nom'] . '">'; 
    } 
    echo '</map> 
<img src="' . $_GET['src'] . '" usemap="#testmap" alt="image"></ul>'; 
     
    $req->closeCursor(); 
} 
catch(Exception $e) 
{ 
    die('Erreur : '.$e->getMessage()); 
} 
?> 



Malheureusement, il ne fonctionne pas, la map n'affiche que le premier champ de ma table dans ma boucle qui devrait afficher toutes les area de la table.
Une réponse? Quelqu'un?
Emmanuel

4 réponses

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
6 nov. 2011 à 01:13
Que vaut ?src=

Et quel est le contenu de la table image?
1
emmanuelcoppey
6 nov. 2011 à 12:01
Merci de ta réponse !

Src vaut le chemin de l'image ("image.jpg"),
et ma table contient :
1er champ (src) : le chemin de l'image,
2eme champ (nom) : le nom de l'utilisateur,
3eme champ (coord) : les coordonnés de l'area sur l'image.
0
emmanuelcoppey
6 nov. 2011 à 12:18
J'ai trouvé !
Il fallait en fait faire une area de shape rect.
Merci beaucoup de vos réponse.
Emmanuel
0
emmanuelcoppey
6 nov. 2011 à 12:50
Finalement ça ne marche pas vraiment.
Je réessaye avec shape="circle",
Voici mon code généré :
<map name="testmap"><area shape="circle" coords="58,109,10"></area><area shape="circle" coords="384,106,10"></area><area shape="circle" coords="172, 401,10"></area></map>
<img src="image.jpeg" usemap="#testmap" alt="Exemple balise MAP">

Il ne marche pas, ca affiche seulement le premier.
0