Comment afficher une image en fonction d'une requète ?

Eléphant du PHP | 113 Messages

22 oct. 2006, 11:07

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.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 oct. 2006, 11:26

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" />

Eléphant du PHP | 113 Messages

22 oct. 2006, 14:07

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 &agrave; la base
mysql_select_db("citation"); // S&eacute;lection de la base citation
// On est connect&eacute;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 &agrave; 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 &agrave; 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&eacute;connexion de MySQL
?>

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 oct. 2006, 14:36

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 ?

Eléphant du PHP | 113 Messages

22 oct. 2006, 14:47

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.

Eléphant du PHP | 113 Messages

22 oct. 2006, 14:58

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 ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 oct. 2006, 15:00

Pour cela il faut que tu passes tes variables dans l'URL et tu les récupères avec GET au lieu de POST.

Eléphant du PHP | 113 Messages

22 oct. 2006, 15:52

Oui mais si je récupère les infos avec GET, ça marchera plus.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

22 oct. 2006, 16:24

Pourquoi veux-tu faire 2 systèmes différents pour un même résultat ?

Eléphant du PHP | 113 Messages

22 oct. 2006, 17:17

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>

Eléphant du PHP | 113 Messages

22 oct. 2006, 17:28

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]"?>">

Eléphant du PHP | 113 Messages

22 oct. 2006, 21:49

Merci encore charabia. :D

Avatar du membre
ViPHP
ViPHP | 3008 Messages

23 oct. 2006, 09:36

De rien ;) N'oublies pas le résolu !