Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je suis débutant, et j'ai un problème pour afficher une image à partir d'une variable. Le nom et le chemin de l'image se trouve dans ma base de donnée, et je souhaite afficher cette image dans ma page. Mais rien à faire, ca ne fonctionne pas. J'aimerai savoir ou est mon erreur. Merci à vous.
Hors ligne
salut,
pour commencer :
- des " autour d'une variable ne servent à rien donc on ne met pas echo "$truc" mais echo $truc directement. Pourquoi ? pour éviter d'utiliser le moteur de php pour chercher des variables dans une chaine de caractère alors qu'il n'y a pas besoin
- qu'elle est le résultat de echo "<img src='$image_recto' border="0">"; (source HTML du rendu)?.
- les attribut HTML (XML) sont "encapsulés" par des " et non des ' ! tu a d'ailleur une erreur de syntaxe a cause de ça à la ligne ci ci dessus.
- on va éviter le extract et utiliser directement $ligne['image_recto].
Le problème de ton code :
tu va toujours avoir la même image d'affichée. Pourquoi ? parce que tu ne filtre pas dans la requete SQL, s'il y a 300 tuples à récupérer tu faire 300 boucles while et le dernier résultat sera toujours le même.
si tu veut afficher tout les résultat il te faut inclure l'affichage dans la boucle while.
un code corrigé :
<?php
// on oublira pas d'ajouter la connexion au serveur SQL => $connexion
$rq="SELECT image_recto FROM carte";
$result=mysqli_query($connexion,$rq) or die ('<p class="systemerror">Exécution de la requéte impossible.<br />'.$rq.'<br />'.mysqli_error($connexion).'</p>');
while($ligne=mysqli_fetch_assoc($result))
{
echo '<p class="afficheimage">
<img src="'.$ligne['image_recto'].'" alt="" />
</p>';
}
?>
</body>
</html>
Je te laisse faire la css
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Merci beaucoup pour cette aide, je vais aller tester çà pour voir son fonctionnement.
Hors ligne
J'ai encore besoin aide. Cette image que j'affiche, j'aimerai que ça soit un lien, et surtout que l'image change quand on passe le curseur de la souris dessus. Mais rien à faire !!!
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<?php
$user="";
$host="";
$password="";
$database="";
$connexion=mysqli_connect($host,$user,$password)
or die ("Connexion au serveur impossible.");
$db=mysqli_select_db($connexion,$database)
or die ("Selection de la base impossible.");
$rq="SELECT *
FROM carte, edition
WHERE carte.id_ed = edition.id_ed";
$result=mysqli_query($connexion,$rq)
or die ('<p class="systemerror">Exécution de la requéte impossible.<br />'.$rq.'<br />'.mysqli_error($connexion).'</p>');
?>
<table align="center" border="0" width="210" height="210" bordercolordark="black" bordercolorlight="black" onload="MM_preloadImages('<?php
while($ligne=mysqli_fetch_assoc($result))
{
echo '<p class="afficheimage">
<img src="'.$ligne['root'].''.$ligne['image_vecto'].'" alt="''" />
</p>';
}
?>')>
<tr>
<td width="300">
<p align="center"> <a href="pages/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','<? echo '<p class="afficheimage"><img src="'.$ligne['root'].''.$ligne['image_verso'].'" alt="''" /></p>';?>',1)"><img src="<? echo '<p class="afficheimage"><img src="'.$ligne['root'].''.$ligne['image_recto'].'" alt="''" /></p>';?>" name="Image1" width="200" height="282" border="0" id="Image1" />
</p>
</td>
</tr>
</table>
</body>
</html>
Hors ligne
Salut,
Vu que tu es en période d'apprentissage, tu vas un peu bosser :
Etape 1 : Cherche la portion de code qui affiche ton image
Etape 2 : Rajoute correctement le fragment <a href="tonlien"> ...</a>
Etape 3 : tu auras besoin du paramètre "onclic" pour l'effet sur survol souris
Courage, tu vas y arriver !
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
>> "onclic" pour l'effet sur survol souris
ce serai pas plutot onmouseover ??
a++
Hors ligne
>> "onclic" pour l'effet sur survol souris
ce serai pas plutot onmouseover ??
a++
Effectivement .. c'était pour voir si vous suiviez ^^
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
bah, je suis moaaaaa :D
a++
Hors ligne
J'ai cherché depuis quelques jours mais rien à faire. Il y a quelque chose qui cloche quelque part mais je ne trouve tjs pas quoi. Je continue à chercher, mais si vous avez quelques infos pour m'aider, voilà mon code.
<head>
<title></title>
<style>
BODY {font-family: Arial; font-size: 10pt}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function preload() {
nb_arguments = preload.arguments.length;
if (nb_arguments > 0) {
var img_load = new Array();
for (var i=0; i<nb_arguments; i++) {
img_load[i+1] = new Image();
img_load[i+1].src = preload.arguments[i];
}
}
}
preload("");
//-->
</SCRIPT>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<script language="javascript">
<!--
function rollover(objet, img){
objet.src = img;
}
</script>
<?php
$user="root";
$host="localhost";
$password="";
$database="****";
$collection="***";
$connexion=mysqli_connect($host,$user,$password)
or die ("Connexion au serveur impossible.");
$db=mysqli_select_db($connexion,$database)
or die ("Selection de la base impossible.");
$rq="SELECT *
FROM carte, edition
WHERE carte.id_ed = edition.id_ed
AND nom_ed='$collection';
$result=mysqli_query($connexion,$rq)
or die ('<p class="systemerror">Exécution de la requéte impossible.<br />'.$rq.'<br />'.mysqli_error($connexion).'</p>');
?>
<p align="center"><font size="5" face="Century Gothic"> <?php echo $collection; ?></font></p>
<table width="983" align="center" cellpadding="0" cellspacing="0">
</table>
</body>
</html>
MERCI BCP
Hors ligne
- les attribut HTML (XML) sont "encapsulés" par des " et non des ' ! tu a d'ailleur une erreur de syntaxe a cause de ça à la ligne ci ci dessus.
Je ne suis pas sûr de réellement comprendre ton propos. Si tu veux dire que les attributs html doivent se mettre entre doubles quotes alors tu te trompes. Les simples quotes sont parfaitement valables et valides d'ailleurs. Le fait de mettre des doubles quotes n'est qu'une habitude française/européenne !
Hors ligne
Pages :: 1