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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération d'une variable dans un lien

par albatross » 13 sept. 2006, 10:00

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

par zeus » 13 sept. 2006, 09:27

Est-ce que ton probleme est résolu ?

par albatross » 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. :)

par albatross » 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>

par zeus » 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"].'">'; 
}

par albatross » 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.

par albatross » 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 !

:)

par charabia » 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"].'">';

par graphistnet » 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?

par albatross » 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"]; ?>">

par graphistnet » 12 sept. 2006, 18:14

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

par albatross » 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 ?

par charabia » 12 sept. 2006, 11:13

Oui la second option. Il faut éviter de stocker des images en BDD, juste les liens.

par albatross » 12 sept. 2006, 11:12

Justement.
Vaut-il mieux que j'insère mes photos dans la bd ou dans un dossier spécial photos. Il me semble que l'on m'avait déja conseillé la deuxième option.

par charabia » 12 sept. 2006, 10:52

Pas besoin de fouiller :) Si tu a réussi à faire cette première étape, l'affichage de la photo est identique, tu récupères le lien à partir de ta base et tu l'affiches.