Page 1 sur 1

photo et base de donnees

Posté : 04 déc. 2007, 14:06
par chris51200
Bonjour a tous,
Je voudrai appeler une photo suivant la ligne du champ selectionné dans ma BDD d'apres un formulaire. Quelle est la bonne methode pour appeler cette photo?
La stocker dans une base de données?
Stocker le lien dans la base de donnees?
Ou autre?
Si les deux solutions fonctionnent, quelle est la plus rapide des deux?
Merci

Posté : 04 déc. 2007, 14:20
par Ryle
Ca dépend un peu de ce que tu veux faire, mais d'une manière générale, si tu n'as pas besoin de faire de l'analyse d'image, ne stockes pas les fichiers dans ta base, ça la surchargerait inutilement.

Il faut donc mieux enregistrer tes fichiers dans un dossier sur ton serveur et conserver seulement le chemin dans ta base de données :) (avec éventuellement la taille ou un titre). Tu n'auras avec php qu'à récupérer le chemin et le coller dans une balise <img />. Ca serait nettement plus simple et plus rapide que de coller ton image en base et devoir la regénérer à chaque demande...

Posté : 06 déc. 2007, 07:33
par chris51200
merci de votre reponse mais je tate un peu la...
quelqu'un aurait il un exemple?
que doisje rentrer dans ma bdd? un truc genre /photo/photo1.jpeg ou juste photo1.jpeg?
et pour recuperer quelles sont les synthaxes possibles?
merci

Posté : 06 déc. 2007, 13:37
par Shadockou
Ce que tu peux faire si tu as un index numérique dans ta base de donnée qui correspond à un et un seul article ou produit, c'est lors de la création des images correspondantes , récupérer cet index, en
l'affectant à une variable $i , et de nommer ton image : 'product'.$i.'jpeg'. Ainsi pas besoin d'entrer de liens dans ta base de donnée, il te suffit juste de recuperer l'index du produit !

Voilà c'est juste une idée que tu peux implementer de differentes manieres dans tes scripts.

Posté : 06 déc. 2007, 14:04
par Sedril
Je te conseille de stocker toutes les photos au même endroit comme ça pas besoin de stocker le chemin, ou alors dans des sous répertoires en fonction du type de la photo.

Dans tout les cas je pense que tu ne dois pas utiliser de "nom simple" pour les photos au risque de te les faire aspirer. Il te faut plutot mettre en place des noms de fichier "chiffrer" par exemple en MD5. Et du coup stocker ce nom dans ta base de données ou alors le stocker en clair et appliquer le "chiffrement" à chaque fois que tu veux y accéder.

Posté : 07 déc. 2007, 13:48
par chris51200
bon alors j'arrive pas a afficher ma photo qui se trouve dans un dossier image du repertoire www de EASYPHP.
Celle ci se nomme image1.jpeg
Le lien se trouve dans un champs appeler LIEN de ma BDD entré comme suit:
"image/image1.jpeg"

mon code est celui ci:
echo $donnee['lien'];
ça marche pas...
j'ai essayer
<imgscr = $donnee['lien']>;
ça marche pas non plus...
j'ai essayer d'autre formule dnas le champs de la BDD et rien encore....
Queuqu'un pour un coup de main?
merci d'avance

Posté : 07 déc. 2007, 14:00
par Ryle
En php, le but est de générer un code html que le navigateur va pouvoir interpréter. Il te faut donc générer une balise image :

Code : Tout sélectionner

<img src="nom_image.ext" alt="titre de l'image" />
A partir de là, il te suffit de remplacer les parties dynamique de ta balise avec tes valeurs php :
<img src="<?php echo $monImage; ?>" alt="<?php echo $titreImage; ?>" />
:)

Posté : 07 déc. 2007, 14:11
par Shadockou
salut,
echo $donnee['lien'];
ne pourra certainement pas fonctionner car tu ne fais qu'afficher le lien, et
<imgscr = $donnee['lien']>;
non plus , d'une part à cause d'un problème de syntaxe html, et d'autre part parce que tu n'appliques pas la fonction echo() dessus, en consequence de quoi rien ne s'affiche.

Ce que tu peux faire c'est :
echo '<img src="'.$donnee['lien'].'">';
Et si ca ne marche toujours pas, alors cela peut venir d'une erreur dans le chemin
du fichier, il faut toujours garder à l'esprit ou se trouve le script par rapport à l'image qu'il appelle.


nb : Les messages d'erreurs sont toujours trés instructifs concernant le probleme, n'hesite donc pas
à les poster si tu en as, il rendront beaucoup plus facile l'analyse du probléme.

Cependant il y a autre chose qui m'intrigue: à quoi correspond $donne['lien] ?
Et tu sure qu'il ne s'agit pas plutot d'un tableau contenant les liens entrés dans ta bdd, si c'est
le cas alors il faut parcourir se tableau a l'aide d'une boucle....

Posté : 07 déc. 2007, 14:13
par Shadockou
Oups réponse simultanée avec Ryle... :lol:

Posté : 08 déc. 2007, 06:42
par chris51200
merci de votre aide ça marche!!!