Page 1 sur 1
Comment afficher une image en fonction d'une requète ?
Posté : 22 oct. 2006, 11:07
par Stegue
Bonjour,
Sur mon site de citations, j'ai une requete qui permet de choisir un auteur dans un menu déroulant.
Sur la page de résultat, j'affiche le nom de l'auteur et ces citations.
Mais je voudrais aussi afficher sa photo.
Comment afficher la bonne photo suivant l'auteur choisi ?
J'ai nommé les photos avec le même n° que le champs id de l'auteur.
Merci.
Posté : 22 oct. 2006, 11:26
par charabia
Ne te suffit-il pa juste de récupérer cet ID et de l'utiliser pour appeler l'image ?
<img src="images/.../<?php echo $id;?>" border="0" />
Posté : 22 oct. 2006, 14:07
par Stegue
Ca marche mais pas avec l'id de l'auteur mais de la citation.
Alors pour éviter la confusion, je précise: citateurs_celebres.id
Comme ça:
<img src="portrait/<?php echo $donnees['citateurs_celebres.id']." ";?>" border="0" />
Mais là, ça ne marche plus !
Voivi mon code:
<?php
mysql_connect("xxxxxx", "xxxxx", "xxxxx"); //connexion à la base
mysql_select_db("citation"); // Sélection de la base citation
// On est connectés, on peut travailler sur la BDD
?>
<?php
if(isset($_POST["auteur"]))
{
$nom = $_POST["auteur"];
$sql = "SELECT citateurs_celebres.nom, citateurs_celebres.prenom, citateurs_celebres.id, citations_celebres.citation, citations_celebres.id FROM citateurs_celebres LEFT JOIN citations_celebres ON citateurs_celebres.id = citations_celebres.numcitateur WHERE citateurs_celebres.nom='".$nom."'";
$reponse = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$i = true;
while ($donnees = mysql_fetch_array($reponse) )
{
if($i)
{ ?>
<span class="Style47">
<?php
echo $donnees['prenom']." ";
echo $donnees['nom']." <br /><br /> "; ?>
</span>
<?php
}
echo $donnees['citation']." <br /> "; ?>
<span ><span class="Style19">__________________________</span>
<script language="JavaScript" src="vote/easy-votes-light.php?idcom=
<?php echo $donnees['id'] ?>&rep=vote" type="text/javascript"
></script>
</span><a title="Envoyer cette citation à un ami" href="#" onclick="window.open('envoi_cit/formulaire.php?id_article=<?php echo addslashes ($donnees['citation'] );?>','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=420, height=250');"><img src="images/envoyer.gif" alt="envoyez cette citation à un ami !" border="0" align="absmiddle" /></a><br />
<br /><img src="portrait/<?php echo $donnees['citateurs_celebres.id']." ";?>" border="0" />
<?php
$i = false;
}
}
// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>
Posté : 22 oct. 2006, 14:36
par charabia
Juste pour éviter ton souci, pourquoi ne renommes-tu pas les champs ID en deux différents ? ça devrait régler rapidement ton affichage non ?
Posté : 22 oct. 2006, 14:47
par Stegue
Exact. En fait, j'ai déjà un autre champ mais j'ai essayé avec citateurs_celebres.numcitateur et ça marchait pas.
En ne mettant que numcitateur ça marche.
Merci.
Posté : 22 oct. 2006, 14:58
par Stegue
Sans vouloir abuser, j'ai un autre petit soucis.(ou plutôt un souhait)
Toujours dans mon menu déroulant, je choisis un auteur, par ex Coluche.
La page de résultat m'affiche le nom et les citations de Coluche.
Est-il possible de faire un lien direct vers cette page sans passer par le menu déroulant ?
Posté : 22 oct. 2006, 15:00
par charabia
Pour cela il faut que tu passes tes variables dans l'URL et tu les récupères avec GET au lieu de POST.
Posté : 22 oct. 2006, 15:52
par Stegue
Oui mais si je récupère les infos avec GET, ça marchera plus.
Posté : 22 oct. 2006, 16:24
par charabia
Pourquoi veux-tu faire 2 systèmes différents pour un même résultat ?
Posté : 22 oct. 2006, 17:17
par Stegue
Car j'affiche aussi les citations en vrac par 4 et l'idée de pouvoir cliquer sur les noms d'auteur par ex toujours Coluche et d'arriver sur le même page de résultat que si on avait choisi Coluche dans le menu déroulant.
J'ai passé mon formulaire du menu déroulant en method GET et aussi mis la récupération en GET.
Donc ça, ça marche pareil qu'avant.
<?php
if(isset($_GET['auteur']))
{
$nom = $_GET['auteur'];
Par contre, mon lien m'envoie sur la page résultat mais vide.
<a href="res_aut_cel.php?auteur='$nom'"> <?php echo"$row[prenom] ";echo"$row[nom]"; ?>
Et simplifiant le lien, ca marche:
<a href="res_aut_cel.php?auteur=coluche">lalalal</a>
Posté : 22 oct. 2006, 17:28
par Stegue
Oups c'est toujours comme ça, c'est tout juste aprés avoir poster qu'on trouve.
C'set mieux comme ça:
<a href="res_aut_cel1.php?auteur=<?php echo"$row[nom]"?>">
Posté : 22 oct. 2006, 21:49
par Stegue
Merci encore charabia.

Posté : 23 oct. 2006, 09:36
par charabia
De rien

N'oublies pas le résolu !