photos et phpmyadmin

Petit nouveau ! | 3 Messages

27 août 2006, 14:48

Bonjour a tous,

Je suis débutant en php (je viens de me tapper tout le bouquin php 5 avancé mais je n ai pas de pratique). je vous explique sur quoi je planche depuis hier soir :( Je suis en train de me créer mon site de véhicule d'occasion et je voudrais stocker, a chaque fois, six photos d'un véhicule. J ai trouvé comment les inserer directement dans ma base avec phpmyadmin mais ce que je vroudrai faire, c est les stoker dans un fichier et enregistrer le chemin d acces a ce fichier dans ma base. Comment faire ? Quels type de champ dois je utiliser ? Et, après, quand je ferai "Inserer" comment devrais je ecrire le chemin ?

Merci de votre, precieuse, aide..

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 août 2006, 14:56

Un chemin c'est une simple chaîne de caractères, tu peux donc utiliser n'importe quel type texte pour ta colonne.

Seulement, pas besoin d'utiliser un LONGTEXT pour une chaîne qui fera entre 10 et 30 caractères.

Tu peux ensuite ne stocker dedans que le nom du fichier image (DC0003456.jpeg par exemple) et utiliser une constante, une variable de config dans tes scripts pour ajouter le chemin vers le répertoire de stockage.

Stocker un chemin vers une photo, c'est exactement la même chose que stocker un nom, une adresse etc. ;)

Regarde les différences entre les types texte ici : http://dev.mysql.com/doc/refman/5.0/fr/ ... types.html

Petit nouveau ! | 3 Messages

27 août 2006, 15:06

Merci, pour ta reponse rapide, ouckileou.

J ai bien compris concernant le "type" de donnée a integrer dans la base mais par contre, ta reponse "Tu peux ensuite ne stocker dedans que le nom du fichier image (DC0003456.jpeg par exemple) et utiliser une constante, une variable de config dans tes scripts pour ajouter le chemin vers le répertoire de stockage." reste flou. Peux tu m eclairer en me donnant un exemple concret. Moi, par exemple, sur mon serveur local, j ai une image : C:\Program Files\wamp\www\site_stone\images_site_stone\DSC00002.JPG. ue dois je mettre dans ma base de donnée comme chemin et comment dois je l ecrire ?

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 août 2006, 15:15

En admettant que toutes tes photos soient dans le même répertoire, ça ne sert à rien de le stocker dans chaque ligne de ta base de données.
Tu ne vas stocker que ce qui change, c'est à dire le nom du fichier :

Petit exemple :
// on stocke le chemin vers le répertoire ici pour pouvoir ne le modifier qu'une fois au cas où
$rep_images = "C:\Program Files\wamp\www\site_stone\images_site_stone\\"; 

// requête SQL pour sélectionner les noms d'images stockés en Bdd
$requete = "SELECT nom_image FROM images"; 
$exec = mysql_query($requete) or die(mysql_error()); 
while ($images = mysql_fetch_assoc($exec)) { // tant qu'on a des résultats, on affiche les images en HTML
   echo '<img src="';
   echo $rep_images.$images['nom_image']; // on concatène le chemin et le nom du fichier
   echo '" /><br />';
}

Petit nouveau ! | 3 Messages

27 août 2006, 15:55

Merci encore une fois.. :)

Tu m as bien eclairé mais il faut que je me mette au boulot et là, c est plus delicat :)

A bientot