Comment afficher une image dans bdd php/mysql

jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je voudrai savoir comment comment je fais pour que quand une personne veut upoader une image (parcourir) dans un champ de la table (de la bdd) par un lien ver l'image sur le pc ou directement sur la table (blob),
et ensuite pouvoir l'afficher sur un page php.

Merci
A voir également:

27 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

tu peux utiliser ce tutoriel mais mieux vaudrait stocker l'image sur le serveur et n'enregistrer que le nom de l'image dans ta BDD.
1
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
re,

et hop, un autre tuto pour l'upload.

tu mets tes images dans un dossier spécifique et dans ta BDD tu crées un champ texte ou tu n'enregistrera que le nom de ton fichier.

quand tu auras besoin de l'image, tu construiras ton code HTML avec 'nom_du_dossier/nom_de_l_image.png' et voili, voila !
1
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merci,
coment jpeut fere pour stocker l'image sur le serveur et n'enregistrer que le nom de l'image dans ta BDD.?
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merci de ton aide,
mais g pas tres bien compris comment je dois proceder?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
regarde comment fonctionne l'upload.

tu verras qu'à un moment tu dois définir le nom du fichier qui va être copié sur le serveur.
c'est ce nom qu'il suffit d'enregistrer dans ta BDD puisque pour utiliser l'image tu n'as besoin que de son nom.

je ne sais pas quoi te dire de plus…

qu'est-ce que tu ne comprends pas exactement ?
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Merci,

Jme suis renseigner j'ai reussi a faire un ptit truk mais g encore un ptit pb

Voila mon code:

creattion de la table:

CREATE TABLE `fichier` (
`id` int(3) NOT NULL auto_increment,
`file` varchar(25) NOT NULL default '',
`titre` varchar(25) NOT NULL,
`description` longtext NOT NULL,
`taille` varchar(10) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ajout.php:

<?php

include("connect.php");

$description=$_POST["description"]; // on recupere la description

$nom=$_FILES["file"]["name"]; // on recupere le nom de l'image avec son extension
$taille=$_FILES["file"]["size"]; //optionnelle, mnt vous avez la taille


list($name, $ext) = explode(".", $nom); // on separe le nom de l'image de son extension

$ext=".".$ext; // on rajoute un . devant l'extention


$chemin = "./repertoire/".$nom; // ici c'est l'endroit ou va etre stocker le chemin de votre texte ou image ou autre ici c'est dans ==> répertoire.

move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$chemin); // on envoie le fichier a l'endroit voulu

mysql_query("INSERT INTO fichier (file, titre, description, taille) VALUES('$nom','$name','$description', '$taille');"); // et on termine en envoyant les donné dans la base mysql
echo 'Good Job Sir ';



mysql_close();

?>

fichier.php


<?php

include("connect.php");

$date = gmdate("H\hi");
echo $date; // aller je le laisse pour le plaisir de tjs savoir l'heure

?>


<form enctype="multipart/form-data" method="post" action="ajout.php">

<br />
Image:
<input name="file" type="file">
<br />
<br />
Description
<br />
<textarea name="description">
</textarea>

<br />
<br />
<input type="submit" value="valider">

</form>

<html>
<head><title>.:: Enjoy BabY ::.</title></head>

</html>


<?php

mysql_close();

?>


Donc sa marche parfaitement sa enregistre le lien de la photo da la bdd mais jvoudrai savoir comment je peut faire pour afficher l'image dans une page php qui fer appelle a la bdd???????
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
oki, parfait.

ben tu te connectes à ta BDD et tu récupères le nom de ton fichier ('$nom') et tu l'utilises dans du code HTML.
<?php
echo "<p><img scr=\"dossier/$nom\" /></p>";
?>

pour bien faire il faudrait aussi enregistrer les dimensions de l'image pour renseigner les attributs 'width' et 'height' de la balise '<img />'.
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
ok jver essayer et jte
et merci de ton aide .....
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
g fer un fichier
afficher.php:

<?php

include("connect.php");

mysql_query("SELECT * FROM fichier");

echo "<p><img scr=\"repertoire/$nom\" /></p>";

mysql_close();

?>

mais il mdise ke ya un probleme
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
et c'est quoi le problème ?

colles nous le message d'erreur.
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
message derreur:

Notice: Undefined variable: nom in d:\program files\easyphp1-8\www\pho\afficher.php on line 7
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
je sais pas comment lafficher les images dans une liste
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
ah oui mais ton script est incomplet !
si tu veux mettre tes images dans une liste ('<ul>').
<?php
$result = mysql_query("SELECT * FROM fichier");
if( mysql_num_rows( $result ) > 0 )
{
	echo "<ul>\n";
	while( $row = mysql_fetch_assoc( $result ) )
	{
		echo '<li><img scr="repertoire/'.$row['nom'].'" /></li>'."\n"; 
	}
	echo "</ul>\n";
}
?>
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
euh ptit probleme

Warning: mysql_query(): Accès refusé pour l'utilisateur: 'ODBC'@'@localhost' (mot de passe: NON) in d:\program files\easyphp1-8\www\pho\afficher.php on line 2

Warning: mysql_query(): A link to the server could not be established in d:\program files\easyphp1-8\www\pho\afficher.php on line 2

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\program files\easyphp1-8\www\pho\afficher.php on line 3

merci
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
creattion de la table:

CREATE TABLE `fichier` (
`id` int(3) NOT NULL auto_increment,
`file` varchar(25) NOT NULL default '',
`titre` varchar(25) NOT NULL,
`description` longtext NOT NULL,
`taille` varchar(10) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
mais il faut ton inclusion de paramètres de connexion !
include("connect.php"); 

je mets juste le bout de code à corriger…
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
lol javer carement zaper
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
deja ca conte bien puisque je vois les 6 erreurs des 6 photos ke g uploader

mais enfette ca mfer une erreur sur cette ligne echo '<li><img scr="/repertoire/'.$row['nom'].'" /></li>'."\n";
0
jojo1610 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
L EREUR C Notice: Undefined index: nom in d:\program files\easyphp1-8\www\pho\afficher.php on line 11
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
ah ba vi, mais je te fais pas du code clé en main !
regarde le code, il faut l'adapter !!!

tu n'as pas de champ 'nom'…
echo '<li><img scr="repertoire/'.$row['file'].'" /></li>'."\n";
0