Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2008, 23h22   #1
Membre à l'essai
 
Étudiant
Inscription : décembre 2006
Messages : 31
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 31
Points : 24
Points : 24
Par défaut [SQL] Afficher une image depuis une base de données

Bonjour,
je travaille sur un projet de e-commerce et je souhaiterai savoir si c'etait possible lorsqu'on affiche la présentation d'un produit, que son image s'affiche depuis une base de donnée.

J'explique ce que j'ai fait pour l'instant:
Dans ma base de donnée, j'ai une classe produit (id_produit, Prix, Libelle, Description, Stock, Categorie, mini_jpg, big_jpg)
mini_jpg et big_jpg contiennent le chemin de l'image correspondant au produit présenté.
Exemple:"./DVD/seriestv/heroes_mini.jpg"

Dans ma page php j'ai rentré le code suivant afin que l'image de la série en question s'affiche (ou sinon que ça m'affiche une image par défaut présente à la racine de mon répertoire)
Code :
1
2
3
4
5
6
7
8
<?php
  require("connection_base.php"); //page de connexion a la bdd
  $requete_jpg = "SELECT mini_jpg From produit WHERE Libelle is Heroes";
  $mini_image= mysql_query ($requete_jpg);
  $affiche_jpg = (file_exists("$mini_image.jpg")) ? "$mini_image" : './nojpg.jpg';
 
  mysql_close($lien);            
?>
Ensuite dans la partie de code html de l'affichage de l'image de mon produit j'ai rentré:
Code :
<img src="<?php echo $affiche_jpg;?>" width="100" height="140" border="0" align="left"></img>
Evidemment ça ne fonctionne pas et j'ai pas trouvé de solution me convenant.
Ici en l'occurence j'ai pris un exemple précis avec Heroes mais je voudrais savoir si c'est possible "d'automatiser" ou bien est ce que je vais devoir reprendre le code php pour chaque produit en tapant la requete bdd pour le retrouver???

Merci d'avance pour votre aide (j'espere...)
shenz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2008, 15h45   #2
Membre Expert
 
Développeur Java Indépendant
Inscription : mai 2007
Messages : 1 336
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Java Indépendant

Informations forums :
Inscription : mai 2007
Messages : 1 336
Points : 1 817
Points : 1 817
Je n'est pas très bien compris la question...
Si il s'agit d'afficher une image contenue dans une base de données, c'est possible grâce aux blobs (l'image est stockée en binaire dans la base de données).

Si il s'agit d'adapter ta requête SQL au produit de la page en cours, il suffit de faire une variable de session, et de mettre le nom du produit à rechercher :

"SELECT mini_jpg From produit WHERE Libelle is ".$_SESSION['categ_produit']

J'espère t'avoir aider
GanYoshi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2008, 00h46   #3
Membre à l'essai
 
Étudiant
Inscription : décembre 2006
Messages : 31
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 31
Points : 24
Points : 24
Merci

C'est bon, j'ai trouvé comment faire, j'avais une petite erreur dans mon ouverture de base en fait, c'est pour ça que ça ne marchait pas.

Au cas ou, si quelqu'un rencontre le meme probleme dans le futur, je laisse mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
require("connection_base.php");    // code pour ouvrir la bdd et verifier qu'elle existe
 
                  //Recuperation des produits de MUSIQUE de la base de données
                    $requete= "select * from produit where Categorie='MUSIQUE' AND sousCategorie='variete'" ;
                    $res= mysql_query($requete);
                    If ($res==0) exit("impossible d’effectuer la requete");
 
                    echo ("<table width='100%' bgcolor='#FFFFFF' class='bordure-table'>  
                        	<table width='100%' bgcolor='#FFFFFF' class='bordure-table'>
                                    <tr>
                                      <td class='titre-menu' colspan='4'>Vari&eacute;t&eacute;</td>
                                    </tr>
                          ");    // mon affichage se fait dans un tableau (il manque une partie du HTML dans ce bout de code)
 
                    //Affichage des infos
                    $compteur=2;
                    echo("<tr class='main-pres'>");
                    While( ($ligne=mysql_fetch_array($res)) and ($compteur!=0) )
                    {
                      $num=$ligne["Id_Produit"];
                      $libelle=$ligne["Libelle"];
                      $prix=$ligne["Prix"];
                      $stock=$ligne["Stock"];
                      $info=$ligne["Description"];
                      $imageP=$ligne["ImageP"];     //image Principale = grande
                      $imageS=$ligne["ImageS"];     // image secondaire = petite
                      echo ("
                            <td width='25%'>
                              <img src='$imageS' width='100' height='140' border='0' align='left'></img>
                            </td>
                            <td width='25%'>
                              Titre: <br />
                             <p align = left><strong><font size='2'>$libelle</font></strong></p>
                              <br /><br />
                              PRIX: <br />
                              <font size='4' color='red'>$prix &euro;</font>
                      ");
                      $compteur--;
                    }
                    echo("</tr>");
                    Mysql_free_result($res);
                    mysql_close($lien);
                    If( $lien==0) exit("impossible de fermer la connexion");
Ensuite y a plus qu'a changer la requete SQL et les titres de rubriques du code html et c'est applicable au reste...
shenz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h51.


 
 
 
 
Partenaires

Hébergement Web