Probleme affichage image

Résolu
Signaler
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005
-
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
-
Bonjour à tous

Voivi mon deuxieme souci du jour.

J'ai un code ou il y a du javascript et du php mélanger. Ce code permet l affichage de l image au passage de la souris sur la désignation de l'article. Mon souci est que quand je met un nom d'image directement exemple test.jpg cela marche mais quand j essaie de faire une relation avec la base de donné php ca marche pas. en fait je voudrai lui dire : quand la souris passe sur cette designation tu m affiche la photo correspondant au produit correspondant sous forme de vignette .

j'espere que quelqun pourra m apporter une reponse à mon probleme. Le champ photo est bien renseigner dans ma table article. Je pense que j ai du me planter a la ligne ou je demande l'affichage de la photo : echo '[logo.gif ';

Merci pour votre aide

<SCRIPT LANGUAGE=JavaScript>
var ie=document.all
var ns=document.layers
var ns6=document.getElementById&&!document.all


function enlarge(which,e){
//Render image code for IE 4+ and NS6
if (ie||ns6){
crossobj=document.getElementById? document.getElementById("showimage") : document.all.showimage
if (crossobj.style.visibility=="hidden"){
crossobj.style.left=ns6? pageXOffset+e.clientX : document.body.scrollLeft+event.clientX
crossobj.style.top=ns6? pageYOffset+e.clientY : document.body.scrollTop+event.clientY


crossobj.innerHTML='
]
'
crossobj.style.visibility="visible"
}
else
crossobj.style.visibility="hidden"
return false
}
//Render image code for NS 4
else if (document.layers){
if (document.showimage.visibility=="hide"){
document.showimage.document.write('')
document.showimage.document.close()
document.showimage.left=e.x
document.showimage.top=e.y
document.showimage.visibility="show"
}
else
document.showimage.visibility="hide"
return false
}
//if NOT IE 4+ or NS 4, simply display image in full browser window
else
return true
}


function closepreview(){
crossobj.style.visibility="hidden"
}
</SCRIPT>



<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'IFD';


$chemin_logo = "./img/logo/";
$chemin_photo = "./img/article/";


$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());


$nb_results_p_page = 20;
$nb_avant = 4;
$nb_apres = 6;
$premiere = 1;
$derniere = 0;
$courant = empty($_GET['page']) ? 1 : $_GET['page'];
$start = ($courant - 1) * $nb_results_p_page; // start (requete mysql)



$result = mysql_query("SELECT count(refArticle) FROM article WHERE idSousCategorie='$idSousCategorie'");
if(!$result)
{
header("location: erreur.php");
exit;
}
$ret = mysql_fetch_array($result);
$nb_results = $ret[0];


$result mysql_query("SELECT A.refFournisseur, A.designation, A.descriptif, A.prixHt, M.libelleMarque, refArticle FROM ARTICLE A, MARQUE M WHERE A.idMarque M.idMarque AND A.idSousCategorie = ". $idSousCategorie." ORDER BY A.designation ASC LIMIT $start, $nb_results_p_page");
if(!$result)
die('Une erreur s\'est produite, veuillez nous en excuser
' . mysql_error());
$total = mysql_num_rows($result);



if($total) {
echo "\";
echo \"----
\";
echo '----
';
echo 'Ref.&nbsp;Frs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, ';
echo 'Designation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, ';
echo 'Marque&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, ';
echo 'Prix&nbsp;HT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, ';
echo ''.\"\n\";
while($row = mysql_fetch_array($result)) {

echo \"----
\";
echo '';
echo ''.$row['refFournisseur'].', ';
echo ''.$row['designation'].', ';
echo ''.$row['libelleMarque'].', ';
echo ''.$row['prixHt'].'&nbsp;&#8364;

, ';

}
echo '
'."\n";
}
else echo 'd&eacute;soler aucun produit disponible pour le moment dans cette cat&eacute;gorie... En effet notre site est encore en construction. Faites appel a notre equipe commerciale.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td>

</td>';


mysql_free_result($result);

56 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
echo '';



ce ne sont pas des doubles quotes " mais deux simples quotes a la suite '' (' et puis de suite apres ')
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

s'il vous plait aider moi j ai absolument besoin de mettre en place ce code rapidement ou limite je risque la pendaison.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
salut, c'est la merde a lire ton truc

essai de mettre seulement les parties nécéssaires



pour ton probléme, je nai lu que la premiére ligne mais, tu a des ' qui manque

remplace echo '[logo.gif ';

par ceci echo ']';


pour ton code, tu n'a pas besoin de mettre dans des balises php du code ou il n'y a que du html

les balises , c'est dépassé, utilise plutot les css



remplace <SCRIPT LANGUAGE=JavaScript> par <script type="text/javascript">




pfffff, ta du boulot lol

@+



Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

bon c déja pas mal il affiche pas l'image mais il me met le bon chemin maintenant il affiche un carré blanc. maintenat il faut juste lui faire le rapprochement avec la désignation et la photo.

aurait tu une idée ?

je te remercie pour ton aide

c'est clair mon c'est trop la merde mais bon tan pis tant que ca marche aprés on verra pour le rendre plus jolie
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

J'espere que comme ce matin tu va pouvoir m'aider a résoudre ce probleme. il faut juste lui dire que quand il passe sur tel désignation qu'il affiche la photo correspondante. stp me lache pas !!! AU SECOUR !!!! Merci beaucoup pour tes réponses.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
euh, désolé mais là je ne vois pas trop le pb et en plus il faut que j'y aille, je n'ai pas le temps

ca m'a l'air d'être plus du coté javascript



tu devrais essayé de poser plus clairement ta question sur le forum javascript

en ne mettant seulement que le code nécéssaire

quelqu'un sera surement plus apte que moi pour y repondre



@+



Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

je pense pas que ca a un rapport avec le javascript car il faut qu il recupere les info dans la base sql donc je pense plus que ca a un rapport avec php. merci pour ton aide. si quelqun a une solution au probleme ca serait cool.

merci
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



tu devrais quand meme mettre ici le HTML genere par ton code, pour voir ce qu'il me dans ta fonction js.
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

peut tu m'expliquer je comprend pas ce que tu veut dire.

merci
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Quand tu lances ton script, regarde le HTML genere par celui-ci. Dans
ton browser, tu vas dans ...ben ca depend des browser. Mais cherche
l'option pour voir le source de la page sur laquelle tu es. Tu verras
ainsi le HTML genere par PHP sur ta page, et ainsi, tu verras par
quoi ont ete remplacees tes variables dans ta fonction return enlarge(\'.$chemin_photo.$ligne[9].\',event).



Mais a ce propos, que contient $ligne9... ? et que
contient $chemin_photo...? Enfin, que contiennent les champs de ta base
correspondant a ces resultats?

Parce que si c'est ce que je crois, a savoir :

$chemin_photo = chemin ou trouver la photo (genre : photos/image1.jpg)

$ligne9 = ID de ta photo (mettons que c'est l'id 34)



Ca ne peut pas marcher. Parce que dans ce cas tu concatenes ca : photo/image1.jpg34

et ca, ce n'est pas un chemin valide...
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

Il me met le chemin de la photo : href=./img/article/ onMouseover="return enlarge('./img/article/',event)">

Pour répondre a ta question :
$ligne9 = le nom de la photo

Dans ma page affichage de l article y a pas de souci avec $ligne9 il affiche bien le nom de la photo.

Le truc c'est qu'il trouve bien le chemin de la photo mais il fait pas de relation entre l'article et la photo donc il affiche pas l'image il doit manquer un quelque chose.

merci pour ton aide
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ok, et si tu fais, quelquepart dans ton script, un echo $ligne9 il t'affiche quoi?

Parce que je ne trouve pas ou est definie cette variable dans ton script.

J'ai regarde la page, et en fait, il n'affiche rien a la place de $ligne9, comme si la variable etait vide.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Oui, j'ai encore relu, je ne trouve pas d'ou provient ton tableau $ligne[]

Je suppose qu'il provient d'une requete sql ? mais ou est-elle ?
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

je vient de tester tu peut regarder. cela m affiche $ligne 9.
Je crois que ta raison la variable n est pas défini.peut tu m aider a la definir.

merci
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Lol heu oui mais non : j'ai encore regarde le html : tu as affiche
$ligne[9] dans du html. Dans ce cas il est normal qu'il ne t'affiche
que le texte.

Non, il faut que tu mettes ca quelquepart : par exemple, apres ton

if($total) {



tu ajoutes ca :



echo 'ligne[9] = ',$ligne[9];



ou mieux, tu l'ajoutes dans ta boucle while :


while($row = mysql_fetch_array($result)) {



tu mets toujours cette ligne juste apres :




echo 'ligne[9] = ',$ligne[9];



Comme ca on verra bien quelle valeur il y a dans cette variable, si tant est que ta variable soit definie.
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

jette car je comprend que dalle. j ai l impression que c'est pas définiehttp://80.11.130.51/java.php?idSousCategorie=51

Au fait beaucoup de t etre pencher sur mon probleme
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ah ben voila, la en effet, on voit bien qu'elle est vide ta variable...



Je reviens, et on regarde ca ensemble.



mais toi, tu dois savoir a quel moment tu as defini cette variable ?
donne moi le code qui te rend ce tableau $ligne, ou est il? Ecris le
ici stp
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
En fait, ce qui m'intrigue, c'est OU tu as place la requete te rendant
$ligne[9]. Il faut que ta page puisse y acceder. Comme je ne vois pas
cette requete dans le code que tu as copie ici...ou est-elle ? Si
elle est sur une autre page, il faut passer cette variable a ta page
ici, sinon elle ne peut pas connaitre $ligne[9].

Un peu comme quand tu definis une variable dans une boucle, elle n'est pas connue en dehors de cette boucle.
Messages postés
83
Date d'inscription
lundi 6 décembre 2004
Statut
Membre
Dernière intervention
29 avril 2005

je comprend pas ta demande.
si tu veut je peut t envoyer le fichier par mail ou sinon on peut se parler par msn.
explique moi ta demande

merci