While + <area>?

emmanuelcoppey -  
 emmanuelcoppey -
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

  1. scriptiz Messages postés 1494 Statut Membre 425
     
    Que vaut ?src=

    Et quel est le contenu de la table image?
    1
  2. emmanuelcoppey
     
    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
  3. emmanuelcoppey
     
    J'ai trouvé !
    Il fallait en fait faire une area de shape rect.
    Merci beaucoup de vos réponse.
    Emmanuel
    0
  4. emmanuelcoppey
     
    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