PHP-MySQL : Insérer et Afficher Photos
Fermé
jakkihm
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
-
1 févr. 2007 à 15:49
Ruskov75% - 1 mai 2015 à 10:20
Ruskov75% - 1 mai 2015 à 10:20
A voir également:
- Afficher une image en php à partir d'une base de données
- Recherche à partir d'une image - Guide
- Créer une icone à partir d'une image - Guide
- Comment agrandir une image - Guide
- Formules excel de base - Guide
11 réponses
yoshiro
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
64
16 mai 2008 à 04:57
16 mai 2008 à 04:57
Il serait bien que vous partager vos resultats avec nous. Pour pouvoir resoudre nos problemes aussi.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
1 févr. 2007 à 18:08
1 févr. 2007 à 18:08
Bonjour,
Pour garder la structure de ta table, il faut procéder comme suit :
- crée un nouveau fichier image.php, contenant :
- puis, dans ta page principale, mets
Xavier
Pour garder la structure de ta table, il faut procéder comme suit :
- crée un nouveau fichier image.php, contenant :
<?php $id = $_GET['id']; // Placer ici tes paramètres de connexion à la base de données // On récupère l'image $sql = "SELECT photo FROM objects WHERE id='".$id."'"; $result = mysql_query($sql); // On met en place les headers, pour dire qu'on a bien là une photo. header('Content-type: image/jpeg'); // cf (1) header('Content-transfer-encoding: binary'); // Et on envoie la sauce echo $result["photo"]; ?>(1) : ceci marchera pour une image jpeg. Si tu as plusieurs types d'images, je te conseille d'en enregistrer le type MIME dans la base de données, en rajoutant une colonne "type" à ta table.
- puis, dans ta page principale, mets
<form action="furniture.php" method="POST"> <table cellspacing=0" cellpadding="0" border="1"> <?php if($result) { while($data = mysql_fetch_assoc($result)) { printf ( "<tr> <td><img src='image.php?id=%s' /></td> <td>%s</td> <td>%s</td> <td>%s</td> </tr>", $data["id"], $data["name"], $data["description"], $data["country"] ); } // end while if(mysql_num_rows($result) == 0) { $msg.="Aucune information disponible"; } } ?> </table> </form>Bon, voilà, je n'ai pas de quoi tester, là, j'espère que c'est ok ^^
Xavier
Désolé, mais ceci affiche le nom du fichier qui se trouve dans la base de donnée mais pad la photo.
j'ai eu ce problème la semaine pssée et j'ai trouvé bien plus simple:
positionner l'endroit de l'affichage photo en html (dans un cadre pour moi)
puis afficher la photo par ceci
<?php
print '<img src="'.$lien.'" alt="" width="100" height="100"/><br />';
?>
( ou $lien contient le répertoire ou se trouve la photo et le nom de la photo qui peut se trouver être dans une variable contenue dans une BDD.)
respecter rigoureusement la syntaxe bien sur.
Ceci rfonctionne parfaitement je l'ai testé.
Bonne chance
NORT
j'ai eu ce problème la semaine pssée et j'ai trouvé bien plus simple:
positionner l'endroit de l'affichage photo en html (dans un cadre pour moi)
puis afficher la photo par ceci
<?php
print '<img src="'.$lien.'" alt="" width="100" height="100"/><br />';
?>
( ou $lien contient le répertoire ou se trouve la photo et le nom de la photo qui peut se trouver être dans une variable contenue dans une BDD.)
respecter rigoureusement la syntaxe bien sur.
Ceci rfonctionne parfaitement je l'ai testé.
Bonne chance
NORT
atomy
Messages postés
442
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
11 août 2009
92
1 févr. 2007 à 17:46
1 févr. 2007 à 17:46
Salut,
Le meilleur façon, d'après moi, serait de mettre toutes tes photos dans un dossier , style "images" ou "photos", dans le même dossier que ton fichier, pour ne pas rendre la chose plus difficile....
Ensuite, pour l'affichage, tu mets un champ dans ta bdd style "chemin", en relatif ex : "photos/image1.jpg"
Finalement, tu insères la photos comme ça : <img src="$data["chemin"]"...
P.S. : Moi, j'utilise mysql_fetch_array, qui met les champs dans un tableau... alors vérifie pour mysql_fetch_assoc...
Le meilleur façon, d'après moi, serait de mettre toutes tes photos dans un dossier , style "images" ou "photos", dans le même dossier que ton fichier, pour ne pas rendre la chose plus difficile....
Ensuite, pour l'affichage, tu mets un champ dans ta bdd style "chemin", en relatif ex : "photos/image1.jpg"
Finalement, tu insères la photos comme ça : <img src="$data["chemin"]"...
P.S. : Moi, j'utilise mysql_fetch_array, qui met les champs dans un tableau... alors vérifie pour mysql_fetch_assoc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
8 oct. 2007 à 13:28
8 oct. 2007 à 13:28
Bonjour,
Que contient ta base de données ? Contient-elle uniquement l'adresse de la photo ?
Dans le cas du message que j'ai publié, la base de données ne contenait pas l'adresse, mais la photo elle-même codée en binaire. Donc echo $result["photo"], ça renvoit bien l'image. Par contre, si comme je le crois la base de données contient uniquement l'adresse de la photo, cette même ligne va renvoyer... l'adresse de l'image seule !
C'est bien ça ?
Xavier
Que contient ta base de données ? Contient-elle uniquement l'adresse de la photo ?
Dans le cas du message que j'ai publié, la base de données ne contenait pas l'adresse, mais la photo elle-même codée en binaire. Donc echo $result["photo"], ça renvoit bien l'image. Par contre, si comme je le crois la base de données contient uniquement l'adresse de la photo, cette même ligne va renvoyer... l'adresse de l'image seule !
C'est bien ça ?
Xavier
moi en fait mon problème c'est de charger l'image selectionné par pourcourir dans une une page web. je veux bien avoir votre aide afin de réaliser cette tache
jakkihm
Messages postés
134
Date d'inscription
vendredi 13 octobre 2006
Statut
Membre
Dernière intervention
17 mai 2016
6
3 févr. 2007 à 21:00
3 févr. 2007 à 21:00
Xavier,
J'ai effectué les changements en suivant tes recommandations, mais lorsque j'exécute mon fichier principale le tableau s'affiche sans photos (en fait, une petite icône apparaît comme si l'image en question n'était pas trouvée).
Si j'exécute le fichier "image.php", alors je reçois les messages d'erreur suivants:
A quoi cela peut-il être dû ?
Merci.
J'ai effectué les changements en suivant tes recommandations, mais lorsque j'exécute mon fichier principale le tableau s'affiche sans photos (en fait, une petite icône apparaît comme si l'image en question n'était pas trouvée).
Si j'exécute le fichier "image.php", alors je reçois les messages d'erreur suivants:
Notice: Undefined index: id in c:\program files\easyphp1-8\www\test.php on line 3 Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\test.php:3) in c:\program files\easyphp1-8\www\test.php on line 19
A quoi cela peut-il être dû ?
Merci.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
5 févr. 2007 à 09:51
5 févr. 2007 à 09:51
Bonjour,
Pour le message d'erreur quand tu lances le fichier image.php, c'est parce que tu l'appelles sans mettre ?id=idImage derrière.
Essaie de l'appeler comme ça, avec un id d'image que tu as, et dis-moi ce que ça donne.
Xavier
Pour le message d'erreur quand tu lances le fichier image.php, c'est parce que tu l'appelles sans mettre ?id=idImage derrière.
Essaie de l'appeler comme ça, avec un id d'image que tu as, et dis-moi ce que ça donne.
Xavier
Concombre Masqué
Messages postés
2
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2007
2
8 oct. 2007 à 01:34
8 oct. 2007 à 01:34
Pour relancer la discussion, moi je n'ai aucun message d'erreur, et la seule chose qui s'affiche c'est l'url de l'adresse quand je vais sur
http://localhost/image.php?id=3
http://localhost/image.php?id=3
Concombre Masqué
Messages postés
2
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2007
2
10 oct. 2007 à 11:42
10 oct. 2007 à 11:42
le champ que je cible est bien de type blob et contient bien les données binaires. (d'ailleurs j'avais au départ rajouté "en dur" directement via phpMyAdmiN).
...
Eh bien, je viens de modifier quelques lignes qui n'auraient eu (selon moi) aucune incidence, mais le résultat est que ça marche :)
J'avais aussi un autre problème pour l'upload, mais je l'ai résolu aussi.
Merci de la réponse, et désolé du dérangement :)
...
Eh bien, je viens de modifier quelques lignes qui n'auraient eu (selon moi) aucune incidence, mais le résultat est que ça marche :)
J'avais aussi un autre problème pour l'upload, mais je l'ai résolu aussi.
Merci de la réponse, et désolé du dérangement :)
26 avril 2012 à 16:42