Problème d'affichage image selon un identifiant unique

Mammouth du PHP | 686 Messages

08 nov. 2008, 14:29

J'osait pas faire la remarque
Je savais que le tonnère allait fraper Zeus voit tout d'ou il est ! 8-)

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 14:29

Pour simplifier les choses je vais supprimer ma base up_name
et remettre un champ photo avec un lien dans ma base boutique_produits

Ca sera plus simple ?

Mammouth du PHP | 686 Messages

08 nov. 2008, 14:31

Oh que oui bien bien plus simple tu peut me faire confiance ca evitera de jongler entre tes deux tables et de recuperer directement en une seule requete tes infos d'article

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 14:40

Bon j'ai une table : boutique_produits
avec les champs suivants:
id
isbn
titre
photo
prix_ht
prix_ttc
commentaires
producteur

Voici le code

[/php]<?php
mysql_connect('localhost', 'root') OR die('Erreur de connexion à la base');
mysql_select_db('lacavedezfilles') OR die('Erreur de sélection de la base');
$id= $_GET['photo'];
$requete = mysql_query('SELECT photo FROM boutique_produits WHERE id = "$photo"') OR die('Erreur de la requête MySQL');
mysql_close();
while($resultat = mysql_fetch_array($requete))
{

echo "<img src=".$resultat['photo'].">";

}
?>

J'ai des erreurs à la ligne mis en gras

Mammouth du PHP | 686 Messages

08 nov. 2008, 14:51

a oui kel abruti c'est
$id = $_GET['id'];
utlise le bouton phjp pour poster ton code !

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 14:55

Meme en mettant ce code il me dit qu'il y a une erreur

Mammouth du PHP | 686 Messages

08 nov. 2008, 15:05

]<?php 
mysql_connect('localhost', 'root') OR die('Erreur de connexion à la base'); 
mysql_select_db('lacavedezfilles') OR die('Erreur de sélection de la base'); 
$id = $_GET['id']; 
$requete = mysql_query('SELECT photo FROM boutique_produits WHERE id = $id') OR die('Erreur de la requête MySQL'); 
mysql_close(); 
while($resultat = mysql_fetch_array($requete)) 
{ 
$photo = $resultat['photo'];
echo "<img src=$photo>"; 

} 
?> 
et comme ca ?

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 15:17

Notice: Undefined index: id in c:\program files\easyphp1-8\www\xxxxxxx\champagnes.php on line 198
Erreur de la requête Mysql
Je pense que cela peut t'aider et peut être y-a-t-il une erreur dans ma base de données. ex: index

ps:j'espère que j'ai bien mis en page la "Notice"

Invité
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 15:19

au fait line 198 c'est
$id = $_GET['id'];

Mammouth du PHP | 686 Messages

08 nov. 2008, 15:21

D'acc mais lorsque tu test est ce que dans ta page tu passe la parametre id ?
Du genre tapage.php?id=1003

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 15:25

oui

Avec ton code qd je tape ...?id=1001
J'ai le nom de mon article qui s'affiche
mais pour la photo : erreur de requete mysql

Alors qu'avant meme sans taper..?id=1001

j'avais toutes les photos qui s'affichaient

Mammouth du PHP | 686 Messages

08 nov. 2008, 15:29

]<?php  
mysql_connect('localhost', 'root') OR die('Erreur de connexion à la base');  
mysql_select_db('lacavedezfilles') OR die('Erreur de sélection de la base');  
$id = $_GET['id'];  
$requete = mysql_query("SELECT * FROM boutique_produits WHERE id = '$id'") or die ("Erreur de la requête MySQL");  
mysql_close();  
while($resultat = mysql_fetch_array($requete))  
{  
$photo = $resultat['photo']; 
echo "<img src=$photo>";  

}  
?>

matye21
Invité n'ayant pas de compte PHPfrance

08 nov. 2008, 15:36

nickel t'es un as

je te remercie vraiment j'ai bien cru j'allais jamais y arriver.

Bonne journée

Mammouth du PHP | 686 Messages

08 nov. 2008, 15:41

mais ya pas de quoi.
T'as vu que c'est + simplement comme ca dans une seule seule table !
si t'as un soucis tu sais ou me trouver ! :D

Avatar du membre
ViPHP
ViPHP | 3008 Messages

08 nov. 2008, 15:46

1. Attention à l'injection SQL ! Si ton ID est un entier faire :
$id=intval($_GET['id']);
Si c'est une chaîne :
$id=mysql_real_escape_string(htmlspecialchars($_GET['id']));
2. Il faut éviter d'utiliser le * et privilégier les noms des champs de ta table.

3. Pour respecter sieur w3c :
echo '<img src="'.$photo.'" width="xx" height="xx" alt="xx" />';