Comment afficher une image dans bdd php/mysql

Fermé
jojo1610 Messages postés 29 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009 - 8 avril 2008 à 17:20
jojo1610 Messages postés 29 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009 - 9 avril 2008 à 16:07
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 20:37
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 21:13
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 21:09
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 21:21
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 21:33
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:02
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 22:13
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:15
ok jver essayer et jte
et merci de ton aide .....
0
jojo1610 Messages postés 29 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:22
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 22:27
et c'est quoi le problème ?

colles nous le message d'erreur.
0
jojo1610 Messages postés 29 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:36
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:42
je sais pas comment lafficher les images dans une liste
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 22:48
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:53
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 22:55
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 23:21
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 23:33
lol javer carement zaper
0
jojo1610 Messages postés 29 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 23:35
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 mercredi 19 mars 2008 Statut Membre Dernière intervention 29 janvier 2009
8 avril 2008 à 23:39
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
8 avril 2008 à 23:55
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