8797 sujets

Développement web côté serveur, CMS

Bonjour je ne sais pas si je dois poster ici oudans la rubrique javascript car mon script comporte du javascript dans du php.
Je vous explique mon probleme:
J'affiche deux images en miniatures et une image dans une taille plus grande. Ce que je veux faire c'est lorsque je survole la miniature c'est qu'elle apparaisse en grand dans une zone defini. Le script marche bien dans une page html mais pas dans une page php et je suis obligé d'utiliser php car c'est une page dynamique.

Voici le javascript


<script type="text/javascript">
	// Fonction de rollover
function rollover_tjs(nom,src) {	
	// nom est le nom de l'image
	//	Dans cet exemple, nom = lesmiley
	// src est l'adresse du fichier d'image
	document.images[nom].src=src;
}
</script>


Et voici le php ou j'utilise la fonction rollover_js

//affichage des miniatures
while($photo)
{
echo'<A href="#" onMouseOver="rollover_tjs("big", '.$photo['pho_nom'].')"><img src="'.$photo['pho_nom'].'" width="50px" alt="'.$photo['pho_nom'].'" /></a>';
$photo=mysql_fetch_assoc($res_photo);
}

//affichage de l'image survolé en taille plus grande
echo '<img  name="big" src="'.$tab["pho_nom"].'" alt="'.$photo["pho_nom"].'"/>';


En esperant que quelqu'un trouvera l'erreur
merci
greg
Modifié par greg12 (26 Sep 2008 - 15:13)
hello,

Je ne jugerais que le PHP donc si dans une page html tu n'as aucune erreur, ton problème vient de tes guillemets dans ta boucle (tu ouvres avec une double quote lors du onMouseOver et tu fermes au début de "big").
De plus, je te conseille de mettre mysql_fetch_assoc() directement dans ta condition de boucle.

Le mieux quand tu mélanges HTML & PHP c'est d'utiliser cette syntaxe, ça t'évite de te mélanger avec les guillemets :


<?php while($photo = mysql_fetch_assoc($res_photo)): ?>
<a href="#" onMouseOver="rollover_tjs('big', '<?php echo $photo['pho_nom'] ?>')">
<img src="<?php echo $photo['pho_nom'] ?>" width="50" alt="<?php echo $photo['pho_nom'] ?>" />
</a>
<?php endwhile; ?>


Par ailleurs, fais attention avec $photo['pho_nom'] car s'il contient des simples quotes, tu risques d'avoir le même problème (addslashes).
Modifié par thoas (25 Sep 2008 - 17:49)
ok d'accord pour la syntaxe mais les miniatures ne s'affichent plus et je n'ai pas trop compris le addslashes pour $photo['pho_nom'].
Je pense que si les images ne s'affichent pas cela vien de cette variable.
re,

Ta requête est t'elle bonne?
Pour voir si tu obtiens des résultats mets ceci avant le while :

<?php
if (mysql_num_rows($res_photo) == 0) {
   echo "Aucune ligne trouvée, rien à afficher.";
   exit;
}
?>


Au pire, copie tout ton code.
oui la requete est bonne je n'y ai pas touché et elle marchait avant j'avais bien mes miniatures qui s'affichait.
re,

Il va peut être falloir nous en dire plus sur ton code, parce que là ça fait leger.
De plus, je viens de tester ce que je t'ai mis avec une base de données d'utilisateurs et aucun problème de mon côté.

Au pire colle ton code ici s'il est vraiment long et donne nous le lien ensuite.

Bon courage.
Hello,

ton problème vient vraisemblablement d'un mauvais emboitement des " et ', vérifie le code html généré pour voir si tout se ferme correctement.
bon ben mais miniatures s'aafichent nikel mais lors du suvol sur l'une des miniatures la grande image ne change pas. Peut etre c'est la fonction javascript quyi buggue?
merci pour votre aide
merci a tous notamment thoas car à force j'y suis arrivé à men sortir avec c'est histoire de guillemets.
Smiley smile
Modifié par greg12 (26 Sep 2008 - 15:12)