Afficher image de la base de données php
Résolu
miichel999
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
miichel999 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
miichel999 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Salut,
Comment afficher une image de base de donnée de type longblob,
j'ai essayé ce code mais l'image ne s'affiche pas
Merci d'avance si vous trouvez la solution!
la base est :
interface affichage est :
EDIT : Ajout des BALISES DE CODE (jordane)
Comment afficher une image de base de donnée de type longblob,
j'ai essayé ce code mais l'image ne s'affiche pas
Merci d'avance si vous trouvez la solution!
la base est :
CREATE TABLE IF NOT EXISTS `produits` ( `id` int(30) NOT NULL AUTO_INCREMENT, `Nom_de_produit` varchar(50) NOT NULL, `img` longblob NOT NULL, `description` text NOT NULL, `prix` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
interface affichage est :
<?php // Sous WAMP (Windows) $bdd = new PDO('mysql:host=localhost;dbname=base_phoenixkids;charset=utf8', 'root', ''); $reponse = $bdd->query('SELECT * FROM produits'); // On affiche chaque entrée une à une while ($produits = $reponse->fetch()) { ?> <table> <th><img width="200px" height="200px" src="<?php echo $produits['img'];?>"/></th> <th style="color:#0404B4"><?php echo $produits['prix']; ?> Dinars</th> <th ><span style="color:orange"><?php echo $produits['Nom_de_produit']; ?></span></br> <?php echo $produits['description']; ?></th> </table> <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?>
EDIT : Ajout des BALISES DE CODE (jordane)
A voir également:
- Afficher une image en php à partir d'une base de données
- Créer une icone à partir d'une image - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Supprimez les composantes rouge et verte de cette image. quel mot apparaît ? - Forum Word
- Base de registre - Guide
2 réponses
le code corrige est :
interface_insertion.php
interface d'affichage
produit_educatifs.php :
meme probleme pas d'affichage d'image
et j'ai pas utiliser file_get_contents
interface_insertion.php
<html> <head> <title>insertion de données</title> </head> <body> <div> <form name="insertion" action="interface_insertion.php" method="POST" enctype="multipart/form-data" > <table border="0" align="center" cellspacing="2" cellpadding="2"> <tr align="center"> <td>Nom de produit</td> <td><input type="text" name="Nom_de_produit"></td> </tr> <tr align="center"> <td>Prix</td> <td><input type="text" name="prix"></td> </tr> <tr align="center"> <td>Description</td> <td><textarea type="text" name="description"></textarea></td> </tr> <tr align="center"> <td>Inserer image</td> <td><input type="file" name="img"></td> </tr> <tr align="center"> <td colspan="2"><input type="submit" value="insérer" name="inserer"></td> </tr> </table> </form> </div> </body> </html> <?php //connexion à la BDD require_once "cnxBdd.php"; if(isset($_POST['inserer'])) { if (isset($_POST['Nom_de_produit']) AND isset($_POST['prix']) AND isset($_POST['description']) AND isset($_FILES['img']['tmp_name'] )) extract($_POST); extract($_FILES); if (!empty($Nom_de_produit) && !empty($prix) && !empty($description) && !empty($img)) { $req = $bdd->prepare("INSERT INTO produits( Nom_de_produit, prix, description,img ) VALUES(?,?,?,?)"); $req->execute(array( $_POST['Nom_de_produit'] , $_POST['prix'], $_POST['description'], $_FILES['img']['tmp_name'] )); echo 'Le produit a bien été ajouté !'; } else { echo "Vous n'aver pas remplit tous les champs "; } } ?> <style> input[type=text], select { width: 100%; padding: 12px 20px; margin: 8px 0; display: inline-block; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } input[type=submit] { width: 100%; background-color: #4CAF50; color: white; padding: 14px 20px; margin: 8px 0; border: none; border-radius: 4px; cursor: pointer; } input[type=submit]:hover { background-color: #45a049; } div { border-radius: 5px; background-color: #f2f2f2; padding: 40px; } </style>
interface d'affichage
produit_educatifs.php :
<div id="tableau_produit">
<?php
//Affichage des erreurs php
error_reporting(E_ALL);
//connexion à la BDD
require_once "cnxBdd.php";
//Requete et affichage:
try{
$reponse = $bdd->query('SELECT * FROM produits');
}catch(Exception $e){ //en cas d'erreur dans la requete
echo "Erreur dans la requete !".$e->getMessage();
}
// On affiche chaque entrée une à une
while ($produits = $reponse->fetch()) {
echo "<table>
<tbody>
<tr>
<td><img widtd='200px' height='200px' src='data:image/jpeg;base64,".base64_encode($produits['img'])."'></img></td>
<td style='color:#0404B4'>".$produits['prix']." Dinars</td>
<td ><span style='color:orange'>".$produits['Nom_de_produit']."</span></br>".$produits['description']."</td>
</tr>
</tbody>
</table>";
}
$reponse->closeCursor(); // Termine le traitement de la requête
?>
</div>
meme probleme pas d'affichage d'image
et j'ai pas utiliser file_get_contents
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
Ben.... si tu ne l'as pas utilisé ... alors qu'on te dit de le faire ....... ne viens pas nous voir pour nous dire que ça ne marche pas.......!!!!!
On t'a expliqué quoi mettre ... je t'ai donné un lien qui donne un exemple ..... tu n'as plus qu'à lire ce qu'on te marque et à l'appliquer !!
Le probléme est dans l'insertion,
et ce code l'affichage est juste