Stocker les images dans ma base de données et faire appel a elles sur ma page we
daryussssssss
Messages postés5Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention30 mai 2009
-
26 mars 2009 à 01:57
jreaux62
Messages postés195Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention24 octobre 2011
-
27 mars 2009 à 04:22
bonjour, je suis actuellement en train de développer un site internet, et j'ai créer un livre d'or. je voudrai que l'orsque les internautes veulent écrire un commentaire qu'ils puissent avoir la possibilité d'ajouter une photo et qu'elle s'affiche sur la page web a coté de leur commentaire, mais je ne vois pas comment faire sa.
je c que en gros il faut stocker les images dans ma base de données et faire appel a elles sur ma page web.
pourrai-je avoir une petite aide s'il vous plait
A voir également:
Stocker les images dans ma base de données et faire appel a elles sur ma page we
jreaux62
Messages postés195Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention24 octobre 201132 26 mars 2009 à 10:37
Bonjour,
Mauvaise démarche ! (stocker les images dans ma base de données)
La "bonne" facon est de stocker les images dans un repertoire, et le NOM des images dans la BD (un champ VARCHAR fera l'affaire).
1 --> formulaire d'upload de l'image (en meme temps que les autres donnees du "livre d'or") avec :
<form name="livredor" method="post" ENCTYPE="multipart/form-data" action="traiterlivredor.php">
<textarea rows="4" cols="30" name="COMMENT" /></textarea>
</form>
2 --> traiterlivredor.php :
traitement des donnees recuperees (pseudo, commentaire, ... + PHOTO)
<?php
// -------------------------------------------
// repertoire des photos (doit etre deprotege en ecriture : chmod 777)
$chemin = 'photos-livredor/';
// -------------------------------------------
$PSEUDO = mysql_real_escape_string(nl2br($_POST['PSEUDO']));
$COMMENT = mysql_real_escape_string(nl2br($_POST['COMMENT']));
// -------------------------------------------
// enregistrement des champs (autres que photo) dans la BD (par INSERT)
$listechamps = 'PSEUDO,COMMENT';
$listevaleurs = '\''.$PSEUDO.'\',\''.$COMMENT.'\'';
$requeteNEW = 'INSERT INTO LIVREDOR ('.$listechamps.') VALUES('.$listevaleurs.')';
$resultINSERTNEW = mysql_query($requeteNEW) or die('Erreur SQL !
'.$requeteNEW.'
'.mysql_error());
// -------------------------------------------
// recuperation du ID cree en selectionnant LA DERNIERE fiche cree
$query = 'SELECT MAX(ID) AS IDmax FROM LIVREDOR';
$result = mysql_query($query) or die('Erreur SQL !
'.$query.'
'.mysql_error());
$val = mysql_fetch_array($result);
$IDnew = $val['IDmax'];
// -------------------------------------------
if(isset($_FILES['PHOTO']))
{
// Restrictions (accepter seulement les images, poids maxi, ...) :
$FileSizeMax = 2000000;
$ExtfichierOK = '" jpg jpeg png gif"';
// ... gestion des erreurs
// ...
// -------------------------------------------
// enregistrement de la photo dans le repertoire
$PHOTOupload = $_FILES['PHOTO']['name'];
$temp = $_FILES['PHOTO']['tmp_name'];
move_uploaded_file($temp, $chemin.$PHOTOupload);
// enregistrement du NOM de la photo dans la BD (par UPDATE)
$SQL = 'UPDATE LIVREDOR SET PHOTO=\''.$PHOTOupload.'\' WHERE ID= '.$IDnew;
mysql_query($SQL);
?>
pour :
- un exemple complet traité d'upload et enregistrement dans BD (voir le paragraphe FICHIER-TRAITER.php)
- Le redimensionnement des photos (creation de picto, ...) : fonctions de redimensionnement d'images, ...
daryussssssss
Messages postés5Date d'inscriptionjeudi 26 mars 2009StatutMembreDernière intervention30 mai 2009 26 mars 2009 à 16:29
je te remercie beaucoup pour ton aide j'avance a grand pas^^, mais en ce qui concerne l'enregistrement du nom de la photo, je comprend pas pourquoi tu a fais un UPDATE au lieu d'un INSERT, puis il serai mieux d'enregistrer le chemin de l'image si je veux faire appel à elle dans une page web non???
jreaux62
Messages postés195Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention24 octobre 201132 27 mars 2009 à 04:22
1- Les PSEUDO et COMMENT ont ete enregistres en INSERT : DONC la fiche a ete cree.
2- traitement de l'image (eventuelle)
3- On recupere l'ID de cette derniere fiche cree pour y ajouter la PHOTO (UPDATE)
Dans mon cas, j'ai separe l'enregistrement des donnees "text" des donnees image "file".
L
Mais l'etape 1- peut aussi se faire en meme temps que la 3- (dans ce cas -> INSERT PSEUDO, COMMENT + PHOTO)
Enfin, c'est bien le NOM de l'image qui est inserée dans la BD ($PHOTOupload), mais on peut aussi lui ajouter le chemin ($PHOTOupload = $chemin.$PHOTOupload)