BLOB'S mysql/php
Résolu
Fetide68
Messages postés
745
Date d'inscription
Statut
Membre
Dernière intervention
-
zoby44 Messages postés 818 Date d'inscription Statut Membre Dernière intervention -
zoby44 Messages postés 818 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Soit ma requête :
et une table "test" : id,titre,image1,image2 (image1 et image2 sont des blob dans mysql)
Mais je n'arrive pas à afficher les images. Je trouve des bouts de codes sur le net mais je n'y comprends rien. En plus ils montrent des codes qui permettent d'afficher que l'imageet pas le reste et chez moi ça marche même pas. En plus, mon but est bien de comprendre !!! Sinon ou est l'intérêt de mon exercice ?
Merci
Soit ma requête :
$reponse = mysql_query ("SELECT * FROM test") or die ('erreur'); while ($donnees = mysql_fetch_array ($reponse)) { echo ' <table><tr> <td>'.$donnees['id'].'</td> <td>'.$donnees['titre'].'</td> <td>'.$donnees['image1'].'</td> <td>'.$donnees['image1'].'</td> </tr></table>'; }
et une table "test" : id,titre,image1,image2 (image1 et image2 sont des blob dans mysql)
Mais je n'arrive pas à afficher les images. Je trouve des bouts de codes sur le net mais je n'y comprends rien. En plus ils montrent des codes qui permettent d'afficher que l'imageet pas le reste et chez moi ça marche même pas. En plus, mon but est bien de comprendre !!! Sinon ou est l'intérêt de mon exercice ?
Merci
A voir également:
- BLOB'S mysql/php
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
9 réponses
Salut. Est ce que tu es tombé sur ce code ? https://codes-sources.commentcamarche.net/
Dans ce bout de code, il récupère l'objet blob et créer un nouveau fichier (qui est l'image), et l'appel avec un <img/>
Perso, je ne suis pas trop fan de cette solution, c'est inutile de stocker l'image sur le serveur et dans la base.
Une autre solution.
Quand tu veux placer l'image, tu met :
Page image.php :
Enfin c'est pas très conseiller de stocker une image dans une base de donnée, c'est plus léger de stocker uniquement l'adresse. Enfin si c'est pour apprendre.
Dans ce bout de code, il récupère l'objet blob et créer un nouveau fichier (qui est l'image), et l'appel avec un <img/>
Perso, je ne suis pas trop fan de cette solution, c'est inutile de stocker l'image sur le serveur et dans la base.
Une autre solution.
Quand tu veux placer l'image, tu met :
<img src="image.php?id_image=150"/>
Page image.php :
<?php header("Content-type: image/jpeg"); header('Content-transfer-encoding: binary'); $id = $_POST['id_image']; $reponse = mysql_query ("SELECT * FROM test WHERE id=$id") or die ('erreur'); while ($donnees = mysql_fetch_array ($reponse)) { echo '$donnees['image1']; } ?>
Enfin c'est pas très conseiller de stocker une image dans une base de donnée, c'est plus léger de stocker uniquement l'adresse. Enfin si c'est pour apprendre.
Oui, c'est pour apprendre...
Ta méthode m'affiche une ligne :
Ta méthode m'affiche une ligne :
http://localhost/occasions/test.php</code>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben comme screenshot, c'est simple c'est une page blanche avec ecrit ça dessus :
le _ c'est pour pas que ça fasse de lien...
En fait dès que j'en lève le content-type (header) cette ligne disparait et rien ne s'affiche...
h_ttp://127.0.0.1/occasions/test.php
le _ c'est pour pas que ça fasse de lien...
En fait dès que j'en lève le content-type (header) cette ligne disparait et rien ne s'affiche...
Ok, a vrai dire j'ai jamais testé le blob. Je ne suis pas chez moi pour le moment et je n'ai pas de wamp sous la main. Je regarde ça tout à l'heure.
Donc voila ce que j'ai fait :
envoi.php :
image.php
Et dans le html, juste :
Et ca fonctionne nickel.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijLC0awsO.jpg
envoi.php :
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'test_blob'; mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); $img = "astronaut.jpg"; $fp = fopen($img,"r"); $data = fread($fp,filesize($img)); fclose($fp); $data = addslashes($data); mysql_query('INSERT INTO image VALUES("", "'.$data.'")'); ?>
image.php
<?php header("Content-type: image/jpeg"); header('Content-transfer-encoding: binary'); $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'test_blob'; mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); $sql = mysql_query('SELECT * FROM image WHERE id='.$_GET['id']); WHILE ($data = mysql_fetch_array($sql)) { echo $data['image']; } ?>
Et dans le html, juste :
<img src="image.php?id=1"/>
Et ca fonctionne nickel.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijLC0awsO.jpg