Afficher une image correspondante

Résolu
Prototype51 Messages postés 26 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 5 janvier 2008 - 21 mars 2006 à 15:12
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 - 21 mars 2006 à 18:03
Bonjour à tous,

Voilà bientôt 2 jours que je me casse la tête sur ce problème : Comment afficher une image au passage de la souris dans un tableau. J'ai donc un tableau contenant des différents biens, et j'aimerais que lorsque l'utilisateur passe la souris au dessus d'un bien, sa photo s'affiche à côté du tableau. Voici le code du tableau :

while ($ligne = mysql_fetch_array($resultat))
{
echo '<TR onMouseOver=alert('.$ligne["photo"].') bgcolor="'.$couleur.'">
<TD>'.$ligne["numero_bien"].'</TD>
<TD>'.$ligne["adresse_bien"].'</TD>
<TD>'.$ligne["nom_ville"].'</TD>
<TD>'.$ligne["info_bien"].'</TD>
<TD>'.$ligne["surface"].'</TD>
<TD>'.$ligne["nombre_piece"].'</TD>
<TD>'.$ligne["photo"].'</TD>
</TR>';
}

Mais voici le problème : Si ma variable '$ligne["photo"]' contient des espaces ou des \ la fonction 'alert()' dans le 'onMouseOver=' ne fonctionne pas ! Par contre la valeur de '$ligne["photo"]' s'affiche très bien dans le tableau.
Mon but est de récupérer la valeur de '$ligne["photo"]' afin de le transférer dans une fonction du style :

function changeImage(photo){
document.photoDemo.src=photo;
}

Bien entendu, ceci ne fonctionne pas puisque je n'arrive pas à récupérer la valeur de photo si elle contient des espaces.
J'espère vraiment que vous pourrez m'aidez car je ne sais plus quoi essayer !
Merci d'avance pour vos réponses que j'attends avec impatiences.

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 mars 2006 à 15:38
Je ne corrige que ça...mais le reste n'est vraiment pas joli non plus :

onmouseover="alert(\''.$ligne["photo"].'\')"
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 mars 2006 à 15:17
Hello,

les attributs html se délimitent par des guillemets...
Et un alert () javascript prend comme argument une chaîne...
0
Prototype51 Messages postés 26 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 5 janvier 2008
21 mars 2006 à 15:23
Se qui signifie ?
0
Prototype51 Messages postés 26 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 5 janvier 2008
21 mars 2006 à 15:50
Merci pour ton aide, cela m'affiche effectivement la valeur de "photo".
Mais maintenant j'ai un autre problème : la valeur de photo contenait un chemin du type "C:\documents\test\image.jpg" et là il m'affiche "C:documentstestimage.jpg".
Et désolé, je sais que c'est pas joli, mais je débute, alors je fais comme je peux ! Si j'arrive à faire pour que ça fonctionne c'est déjà un bon point non ?
Merci encore et si tu as une idée pour mon petit problème, n'hésite pas (lol).
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 mars 2006 à 16:07
Si tu ne fais pas un stripslashes, une possibilité est que tu aies les magic_quotes à On dans ton php.ini, je suppose (jamais été confronté à ce problème).
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
21 mars 2006 à 17:48
salut,
cette histoire de slash m'était arrivée.
je crois que tu peux simplement remplacer tes \ par des / et ca va marcher, test ça.
bonne chance :)
0
Prototype51 Messages postés 26 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 5 janvier 2008
21 mars 2006 à 17:55
Merci krolenain, mais j'ai trouvé la solution :
j'ai fais un 'str_replace("\","\\\",$$ligne["photo"])' et ça a fonctionné.
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
21 mars 2006 à 18:03
c cool!
j'utiliserais ca aussi la prochaine fois!
0
Rejoignez-nous