galerie en base de donnée

Cro_mag
Invité n'ayant pas de compte PHPfrance

24 mars 2011, 18:27

Bonjour,

Désolé pour le new topic, mais ceci a été fait en accord avec misterflo pour ne pas surchargé l'autre topic au cas ou le membre souhaiterais d'autres précisions.
Voila donc comment faire pour rentrer les données de mes 2 tables via phpmyadmin ?

Merci de ton aide misterflo

Eléphant du PHP | 241 Messages

24 mars 2011, 18:36

Merci bien ^^

Alors commençons par la création des tables.

Table PHOTOS
CREATE TABLE `test`.`photos` (
`id_photos` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`id_pays` INT NOT NULL UNIQUE,
`liens_images` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`vignettes` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
Table PAYS
CREATE TABLE `test`.`pays` (
`id` INT NOT NULL ,
`pays` VARCHAR( 300 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` ) 
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
Ensuite on gère les relations entre les 2 tables :
http://www.toopix.eu/5f6a41ca6903e91c3c ... ebe05.html
On ajoute les relations :
http://www.toopix.eu/4bf1a250e908a4456c ... 26dfa.html

On ajoute les pays avec les id que l'ont veut :
http://www.toopix.eu/4dee852307becf327a ... 12d40.html

Et enfin on ajoute les photos : les id_photos pas besoin d'y toucher, c'est en auto-increment, les id_pays seront à choisir parmi une liste.
http://www.toopix.eu/30c2ab89cd7c4cd917 ... aa5cc.html

Cro_mag
Invité n'ayant pas de compte PHPfrance

24 mars 2011, 19:08

Ton tutoriel est dément, c'est super clair, et surtout compréhensif, ça sert a rien de recopier bêtement, la j'arrive a comprendre au fur et a mesure

1) Par contre, j'en suis a la dernière étape, insérer les noms des photos. Comment on fait pour les dossier
si elles sont par exemples dans australie/grandes images (pour les grandes) et australie/vignettes pour les petites ???
il faut mettre australie/vignette/1320_AUSNA.jpg|australie/vignette/1450_AUSNA.jpg|australie/vignette/1920_AUSNA.jpg

2)On finit la ligne par | ou , ou rien ?

3) J'ai 200 photos en moyenne par pays a rentrer (c'est possible par la création d'un formulaire) ou il vaut mieux tout rentrer a la main ?

4) lorsqu'elles vont apparaitre, ça va être dans l'ordre ou je les aient rentré ? comme en fait je fais des pages de photos verticales et horizontales (plus jolis visuellement)

Eléphant du PHP | 241 Messages

24 mars 2011, 20:53

Alors tout d'abord merci :oops:

Juste une petite erreur que j'ai faite, j'ai mis dans la création de la première table id_pays ans UNIQUE alors qu'il le mettre en INDEX tu n'es pas obligé de supprimer la table et de la refaire.
Dans l'onglet Structure
http://www.toopix.eu/47ee78842e30052994 ... c3778.html
puis
http://www.toopix.eu/dba92135b339946f2e ... da7fb.html
1) Par contre, j'en suis a la dernière étape, insérer les noms des photos. Comment on fait pour les dossier
si elles sont par exemples dans australie/grandes images (pour les grandes) et australie/vignettes pour les petites ???
il faut mettre australie/vignette/1320_AUSNA.jpg|australie/vignette/1450_AUSNA.jpg|australie/vignette/1920_AUSNA.jpg
Tu peux directement écrire le nom des dossiers + le nom de l'image.
L'histoire avec les " | " c'était pour ensuite extraire chaque images avec une fonction php (expliqué dans l'autre sujet :wink:, et il ne fallait pas en écrire après la dernière image).
//soit tu rentre le nom des dossiers de l'image dans la bdd et dans ce cas ca donne
<img src="<?php echo $lien_image; ?> alt="" />

//soit tu ne rentre que le nom de l'image avec l'extension et ca donne
<img src="australie/grandes/<?php echo $lien_image; ?> alt="" />
Donc dans la bdd dans la partie liens_images ou vignettes s'il y en a plusieurs ca peut donner ceci (sans | à la fin :D)

Code : Tout sélectionner

australie/un_dossier/image1.jpg|australie/un_dossier/image2.jpg|australie/un_autre_dossier/image1.jpg|australie/un_autre_dossier/image2.jpg
Personnellement dans ma bdd je ne rentre que les images miniatures que j'affiche sur la page et je génère le nom des images en grand format, exemple :
J'ai 2 images, une miniature et la même en grand format, lorsque je clique sur la miniature, l'image en grande doit s'ouvrir.
La miniature : test.jpg et celle en grand format : test_Gr.jpg
Seul test.jpg est présente dans ma bdd, ensuite avec un traitement php je dis que l'image en grande est le nom de la miniature + _Gr à la fin. Au finale ca me fait moitié moins de noms d'images à rentrer dans la bdd.
Dans mon traitement php (non détaillé) ca donne
<a href="test_Gr.jpg"><img src="test.jpg" alt="" /></a>
La miniature s'affiche sur ma page, et le lien me permet d'ouvrir l'image en grand format.
Je sais pas si mon explication est clair :mrgreen:
2)On finit la ligne par | ou , ou rien ?
On fini la ligne par rien dans la façon dont j'ai fais le traitement.
3) J'ai 200 photos en moyenne par pays a rentrer (c'est possible par la création d'un formulaire) ou il vaut mieux tout rentrer a la main ?
Au finale ca revient plus ou moins au même, phpmyadmin est en soit un formulaire d'ajout de données ^^
Mais ta page de formulaire peut être personnalisé, plus clair etc. ca peut servir aussi pour donner l'administration à certaine personne sans avoir besoin de leur donner accès à la bdd.
4) lorsqu'elles vont apparaitre, ça va être dans l'ordre ou je les aient rentré ? comme en fait je fais des pages de photos verticales et horizontales (plus jolis visuellement)
Tu peux choisir toi même de les classer par ordre alphabétique ou par le numéro d'id, soit directement dans la requête SQL soit avec un traitement php (en SQL ce serait plus pratique je pense)

Cro_mag
Invité n'ayant pas de compte PHPfrance

24 mars 2011, 22:00

1) J'ai un soucis pour changer l'erreur, regarde
http://www.toopix.eu/e0a14313f06978d2a6 ... fbce9.html
il me manque la ligne que je dois modifier. Est ce parce que je n'ai pas réalisé la dernière étape (rentré les photos) ?

2) Il est vrai que de mettre juste le nom des fichiers dans la base de donnée, et la direction directement dans le code de la page, ca évites de rentrer tout ça, on gagne du temps, je pense proceder comme toi

Code : Tout sélectionner

//soit tu ne rentre que le nom de l'image avec l'extension et ca donne <img src="australie/grandes/<?php echo $lien_image; ?> alt="" />
Ce qui fait que je rentre ça : (pour vignettes et grandes)

Code : Tout sélectionner

australie/un_dossier/image1.jpg|australie/un_dossier/image2.jpg|australie/un_autre_dossier/image1.jpg|australie/un_autre_dossier/image2.jpg
Par contre au lieu de faire test_Gr pour dire la grande, je peux spécifier dans le code que le nom est le même mais que le dossier est différent ?

Code : Tout sélectionner

<a href="grandes/test_Gr.jpg"><img src="test.jpg" alt="" /></a>
Sachant que le repertoire du pays a été spécifié avant par

Code : Tout sélectionner

<img src="australie/grandes/<?php echo $lien_image; ?> alt="" />
Bon du coup le mix des deux je ne sais pas ce que ça donne

3) Pour le formulaire, effectivement phpmyadmin c'est un formulaire, mais c'était plus dans le sens avoir une page dans laquelle je peux sélectionner toutes les photos que je souhaite envoyer, et en cliquant sur envoyer, ça les intègrent directement dans la bdd, donc pas besoin de tout rentrer a la main...

4) pour l'apparition c'est assez complexe dans mon cas
pour un pays, il faut trier horizontales ensemble et verticales ensembles, puis il y a une continuité dans la progression du voyage, un "trajet". C'est possible d'arriver a choisir tout ça ?? (dans ce cas la ce serait donc par numéro d'id non ?)

Encore merci de m'aider, ça fait des semaines que je cherche, que je réfléchis, que je m'égare également quand on voit toutes les possibilités avec le php LOL

Eléphant du PHP | 241 Messages

25 mars 2011, 00:38

Bonsoir,
1) J'ai un soucis pour changer l'erreur, regarde
http://www.toopix.eu/e0a14313f06978d2a6 ... fbce9.html
il me manque la ligne que je dois modifier. Est ce parce que je n'ai pas réalisé la dernière étape (rentré les photos) ?
Effectivement, dans ce cas il faut que tu clique sur le bouton avec un éclair(c'est un éclair ? ^^) à droite de la ligne
http://www.toopix.eu/7a0e6f8ca5bce7eac9 ... 93967.html
2) Il est vrai que de mettre juste le nom des fichiers dans la base de donnée,
...
...
Bien sur, rien ne t'oblige à choisir _Gr ^^, comme tu veux le faire (avec les noms de dossiers) c'est possible, peut-être même plus pratique et plus simple
Il n'y a peut-être même pas besoins de traitement php particulier

<a href="petites/<?php echo $img_miniature; ?>"><img src="grandes/<?php echo $img_grande; ?>" /></a>
/*Il n'y a qu'à choisir le nom du répertoire en "dur", pas besoin de traitement et de fonctions php lui disant qu'il faut modifier le nom du fichier en rajoutant _Gr etc. */
3) Pour le formulaire, effectivement phpmyadmin c'est un formulaire, mais c'était plus dans le sens avoir une page dans laquelle je peux sélectionner toutes les photos que je souhaite envoyer, et en cliquant sur envoyer, ça les intègrent directement dans la bdd, donc pas besoin de tout rentrer a la main...
Ok, un champ de sélection d'image/fichier un peu comme sur toopix ? :D
4) pour l'apparition c'est assez complexe dans mon cas
pour un pays, il faut trier horizontales ensemble et verticales ensembles, puis il y a une continuité dans la progression du voyage, un "trajet". C'est possible d'arriver a choisir tout ça ?? (dans ce cas la ce serait donc par numéro d'id non ?)
Horizontalement , verticalement ? tu parle du sens de la photo ?
Si toutes les photos verticales sont plus petite en largeur qu'en hauteur, tu peux faire un tri selon le rapport largeur/hauteur de l'image, mais une image plus petite en largeur qu'en hauteur ne veut pas forcement dire qu'elle est verticale (vice et versa pour horizontale).
Sinon tu peux mettre en début ou fin de nom d'image un v_ ou _v pour dire que l'image est verticale (pareil pour horizontale).
Pour le "trajet" pareil, soit tu vas les rentrer dans l'ordre du voyage donc l'id peut servir soit tu rajoute des chiffres en début ou fin d'image, un peu pareil que pour les v_


En fait il me manque une petite précision général pour m'aider à mieux cerner ce que tu cherche à avoir, la disposition de tes galeries de photos est pareil que sur ton site actuel ? ou elle est différente ?

Eléphant du PHP | 77 Messages

25 mars 2011, 11:30

Bonjour !!

Ca y est, j'ai modifié la base de donnée, plus de soucis

Fais t on un formulaire pour envoyer les photos dans la base de donnée ? Ou dois je tout rentrer a l'ancienne ?
Oui voila style toopix, ou même comme dans un mail quand tu veux joindre des pièces jointes, tu peux en sélectionner plusieurs puis t'as juste a faire OK !!

Pour l'apparition je souhaite conserver dans le même ordre qu'actuellement (sauf venise ou le tri entre verticales et horizontales n'a pas été fait) c'est bien plus joli visuellement je trouve.

Pour la pagination c'est une fois qu'on a traité tout ca ??

Merci

Eléphant du PHP | 241 Messages

25 mars 2011, 12:56

Bonjour,
pour le formulaire c'est à toi de voir, je veux bien t'aider à le faire c'est pas un soucis, après ca dépend, est-ce que ca va vraiment être utile ?
Si tu ajoute fréquemment des photos (plusieurs par semaines) ca peut aider à aller plus vite (et encore c'est pas dit :mrgreen: ), si c'est de temps en temps (quelques une par mois ou moins), avec phpmyadmin ce sera amplement suffisant.

Faire le formulaire peut aussi être un exercice intéressant !

La pagination va se faire automatiquement selon le nombres des photos que tu auras.

Eléphant du PHP | 77 Messages

25 mars 2011, 13:39

On va dire que j'ai 200 photos a rentrés tous les 2 mois, et la pour tout refaire j'ai quasiment 1000 photos a replacer

Eléphant du PHP | 241 Messages

25 mars 2011, 16:21

Ah oui d'accord ! :lol:
Un formulaire serai donc le bienvenue !!

La façon la plus pratique dont je vois la chose (il y a peut-être mieux !)
- Faire un dossier uploads dans lequel tu ajoute via ftp toutes tes nouvelles photos.
- Faire une page d'administration avec la liste des photos dans ce dossier uploads.
- Faire un bouton à côté de chaque photo (ou directement en image cliquable) qui demande dans quelle section de la bdd ajouter cette photo.

Un exemple sera plus pratique, je ferai une ébauche dans l'après-midi ou la soirée :wink:

Encore une petite précision :
Le champs liens_images (dans la bdd) correspond sur ton site aux photos principales de chaque galerie c'est ca ?
Et les vignettes sont donc toutes les photos de cette galerie ?
http://www.tuan-gallery.com/fr/accueil_galerie.html

Eléphant du PHP | 77 Messages

25 mars 2011, 17:16

Enormissime si on peut faire comme ça !!

En fait dans chaque dossier pays j'ai :
- 1 dossier vignettes (qui contient toutes les vignettes du pays)
- 1 dossier grandes images (qui contient toutes les images grand format du pays)

pour ce qui est de la page accueil galerie http://www.tuan-gallery.com/fr/accueil_galerie.html
ces vignettes sont mises dans mon dossier "images" de la racine du site (sachant qu il y a une image "photo" et l'image "survolée" (le nom du pas d'écrits))

Eléphant du PHP | 241 Messages

25 mars 2011, 18:03

D'accord, donc dans la BDD le champ liens_images va êtres les photos en grandes et le champs vignettes les mêmes en petites ?
(je crois que mon cerveau a du mal aujourd'hui :mrgreen: )

Eléphant du PHP | 77 Messages

25 mars 2011, 18:05

C'est exactement ça !!
:D

Eléphant du PHP | 241 Messages

25 mars 2011, 18:21

Ok, donc finalement il y a un champ en trop non ? (C'est de ma faute désolé !)
Puisqu'elles sont dans des dossiers séparés, lors de l'appel des photos dans la page HTML il n'y aura qu'à changer le nom du répertoire.
<a href="grandes/<?php echo $photo; ?>"><img src="vignettes/<?php echo $photo; ?>" alt="" /></a>
Toutes tes photos sont dans les mêmes dossier ?
C'est à dire, les grandes photos qu'elles soient d'inde ou d'usa elles sont dans le dossier grandes (pas exemple)
et pareil pour les vignettes ?

Ou alors,

C'est plutôt un dossier pour chaque pays qui lui même contient un dossier grandes et un dossier vignettes ?
www/
  • inde
    • grandes
    • petites
  • usa
    • grandes
    • petites

En fait je fais les choses à l'envers, je demande des détails sur la réalisation après avoir commencer le travail (pas taper, pas taper 8-| !) #-o

Eléphant du PHP | 77 Messages

25 mars 2011, 18:28

lol
Non excuses moi j'aurais du te donner plus de details, vu qu'en plus tout le monde organise ses dossiers a sa façon...si d'ailleurs il existe un méthodologie plus pratique je suis preneur..lol

Donc en fait ça fait comme ça

www/fr/ (oui fr, mais je vais l'enlever pour ne laisser plus que www/ vu qu’après je compte grâce a la base de donnée, faire le site en plusieurs langue)
donc :

www/

inde
grandes
petites
usa
grandes
petites


Et pour les vignettes des accueil_galerie, elles sont dans www/images
Si c'est plus pratique de les mettres dans le dossier du pays correspondant, dis moi je changerais...(mais apres comment s'y retrouver pour la lecture de la bdd..)