Récupération d'une variable dans un lien

Eléphant du PHP | 78 Messages

12 sept. 2006, 17:11

Re,
voici partie du code pour affichage de l'image :
<img src="<? echo $val["Photo_Artiste"]; ?>">
Ce que je trouve étrange c'est que ça n'affiche rien.
Par contre quand je fais un clic droit pour savoir l'adresse de l'image cela me renvoie à celle de la page, en l'occurence http://planet-80.com/artiste.php?page=Streisand alors que dans ma bd j'ai stocké dans le champ Photo_Artiste, Type varchar(100), la valeur http://www.planet-80.com/image/Artistes ... eisand.jpg.
Peut-être n'ai-je pas besoin de mettre l'adresse complète d'où se trouve l'image ?

Eléphant du PHP | 184 Messages

12 sept. 2006, 18:14

Que donne le code source généré?
Il faut commencer à avoir des réflexes concernant le débogage ;)
Image

Eléphant du PHP | 78 Messages

12 sept. 2006, 18:44

OUi tu as raison pour ces réflexes et j'essaie au mieux de comprendre ce que je code et pourquoi ça bugge, mais là il manque quelque chose.
Voilà le code complet de la requête :

$host = ""; 
$user = ""; 
$pass = ""; 
$bdd = ""; 
// connexion
$connect = mysql_connect($host,$user,$pass)
or	mysql_error();

$select = mysql_select_db("$bdd")
or die("Impossible de se connecter à la base selectionnée");

  $table="artiste";
  $table= "chanson";

$query = "SELECT * FROM artiste WHERE Nom_Artiste='".$_GET['page']."'";
 
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
    
	    echo "".$val["Prenom_Artiste"]."&nbsp;".$val["Nom_Artiste"]."<BR>"."<BR>"; ?>
		<img src="<? echo $val["Photo_Artiste"]; ?>">

Eléphant du PHP | 184 Messages

12 sept. 2006, 19:30

En regardant rapidement il y a un probleme avec tes doubles quotes dans l'écho, corrige déjà ca. Ensuite lorsque je parlais de code source généré je voulais dire de regarder dans la page générée par le php dans ton navigateur.
Affiche tu les erreurs?
Image

Avatar du membre
ViPHP
ViPHP | 3008 Messages

12 sept. 2006, 19:53

Juste une chose, tes photos d'artistes sont-elles stockées dans le même répertoire ?

Si c'est le cas, pourquoi mets tu une adresse complète ainsi ?

Code : Tout sélectionner

http://www.planet-80.com/image/Artistes/Photos/barbra_Streisand.jpg
Tu peux juste stocker le nom de l'image à savoir barbra_Streisand.jpg.

Du coup ton code pour l'image sera :
echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">';

Eléphant du PHP | 78 Messages

12 sept. 2006, 22:38

OUi elles sont toutes dans le même répertoire.
Je teste ton code et je vous tiens au courant, mais sûrement demain, là je vais au dodo !
Bonne nuit à vous aussi !

:)

Eléphant du PHP | 78 Messages

13 sept. 2006, 09:15

Juste une chose, tes photos d'artistes sont-elles stockées dans le même répertoire ?

Si c'est le cas, pourquoi mets tu une adresse complète ainsi ?

Code : Tout sélectionner

http://www.planet-80.com/image/Artistes/Photos/barbra_Streisand.jpg
Tu peux juste stocker le nom de l'image à savoir barbra_Streisand.jpg.

Du coup ton code pour l'image sera :
echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">';
J'ai bien essayé avec ce code ci-dessus, mais la photo ne s'affiche pas.
J'ai essayé avec le chemin complet : http://www.planet-80.com/image/Artistes ... eisand.jpg ce qui affiche bien la photo, ce qui est normal tu me diras.

Je viens de réaliser qu'avec le code suivant ça n'affiche pas :
$query = "SELECT * FROM artiste WHERE Nom_Artiste='".$_GET['page']."'";

 
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
    
	    echo "".$val["Prenom_Artiste"]."&nbsp;".$val["Nom_Artiste"]."<BR>"."<BR>"; 
		
echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">'; ?>
alors que comme ça c'est bon :
$query = "SELECT * FROM artiste WHERE Nom_Artiste='".$_GET['page']."'";

 
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
    
	    //echo "".$val["Prenom_Artiste"]."&nbsp;".$val["Nom_Artiste"]."<BR>"."<BR>"; 
		
echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">'; ?>
Il semble que le premier "echo" perturbe le second.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 sept. 2006, 09:18

C'est surtout que, si tu ne met pas de {} apres un while, seule la ligne qui se trouve immédiatement après le while sera executé plusieurs fois ;)

C'est pour eviter ce genre d'erreur que je conseille de toujours préférer cette écriture
while(test)
{
   instruction
}
a celle ci
while(test)
   instruction
Donc, essaye de passer ce code si tu veux que les 2 echo soient exécutés plusieurs fois ;)
$query = "SELECT * FROM artiste WHERE Nom_Artiste='".$_GET['page']."'";
 
$result = mysql_query($query);
while ($val = mysql_fetch_array($result))
{    
    echo "".$val["Prenom_Artiste"]."&nbsp;".$val["Nom_Artiste"]."<BR>"."<BR>"; 
        
    echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">'; 
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 78 Messages

13 sept. 2006, 09:18

Voici le code qui fonctionne :
<?
 $result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
    
	    echo "".$val["Prenom_Artiste"]."&nbsp;".$val["Nom_Artiste"]."<BR>"."<BR>"; ?>
		
 
		
			
 </p>
                      <p>&nbsp;</p>                      </td>
                    <td width="387"><div align="center">
<?
$result = mysql_query($query);
   while ($val = mysql_fetch_array($result))
		echo '<img src="http://www.planet-80.com/image/Artistes/Photos/'.$val["Photo_Artiste"].'">'; ?></div></td>
                  </tr>

Eléphant du PHP | 78 Messages

13 sept. 2006, 09:23

Merci Zeus.
ça y est , j'ai rectifié et c'est bien nickel, j'ai rajouté les pièces manquantes. :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 sept. 2006, 09:27

Est-ce que ton probleme est résolu ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 78 Messages

13 sept. 2006, 10:00

Oui désolé, je vais le mettre en résolu.