Vignettes

Répondre
Datavinn
le 08/08/2003 à 11:16
Datavinn
Bon mon dernier problème résolu (merci La Globule) j'ai pu faire quasiment tout mon site. Bon y a plein d'ameliorations a faire, mais je les ferais doucement. Mais pour que le "version 1.0" smiley soit fini, il me faut finir un truc :
J'ai des vignettes qui s'affiche les une après les autres suivant les enregistrements, et je voudrais que l'on puisse cliquer dessus pour avoir ce qui va avec.
Et là, je me demande si j'ai pas mal pensé mes tables : J'ai une table vignette, une illustration, une projet, et une Bd.
Comment faire une jointure d'une table à plusieurs autres et comment faire pour que la vignette reconnaisse les bonne information entre ces trois table ?

Je crois que j'ai mal pensé mes tables...
Gniok !
LA GLOBULE
le 08/08/2003 à 11:32
LA GLOBULE
Donne nous la structure de tes tables :)

Sinon, une jointure peut tres bien se faire netre 3 tables (du moment que les clés etrangeres sont bien presentes) smiley
Datavinn
le 08/08/2003 à 11:43
Datavinn
:) Alors voila la compositions de ces tables :

La table de vignette s'appel : imgnews et contient :
-imgnew_id (clé primaire)
-img_new (l'image de la vignette)

La table illustration s'appel : illustration et contient :
-id_illus (clé primaire)
-titre_illus
-type_illus
-date_illus
-img_illus
-descr_illus

La table bd s'appel : bandedessinee et contient :
-bd_id (clé primaire)
-titre_bd
-bddate
-scenariste_bd
-etat_bd
-descr_bd
-img_bd
-imga_bd
-imgb_bd
-imgc_bd
-imgd_bd
-imge_bd

La table projet s'appel : projet et contient :
-projet_id (clé primaire)
-titre_projet
-projetdate
-descr_projet
-img_projet
-imga_projet
-imgb_projet
-imgc_projet
-imgd_projet
-imge_projet
Gniok !
LA GLOBULE
le 08/08/2003 à 11:47
LA GLOBULE
Et quels sont les liens entre les tables ? y'a une quelconque relation entre les tables ?
Datavinn
le 08/08/2003 à 11:55
Datavinn
AHHH j'ai été frappé par un rayon Zorglub je... je.. je pense que non, vu que je sais pas ce qu'est un lien entre les tables, c'est pas ca ce que l'on appel une jointure ?
jointure = liens entre les tables

smiley J'ai du comprendre de travers tout une partie des cours.... sob smiley
Gniok !
LA GLOBULE
le 08/08/2003 à 12:25
LA GLOBULE
Oui, c'est ca, il faut avoir une jointure entre les tables :)

Exemple pour un forum : une reponse se rapporte toujours à un sujet (y a tjs un lien entre un sujet et une reponse).
Tes tables seront alors du genre :

- Sujets :
id
titre
date
....

- Reponses :
id
id_sujet
message
date
...

Et en fait, id_sujet, recopie la valeur de l'id du sujet concerné, et c'est grace à ca que tu lies les reponses aux sujets.
LA GLOBULE
le 08/08/2003 à 12:27
LA GLOBULE
Exemple :

- sujet d'id 4 : vive la fete

- reponse d'id 1, avec id_sujet = 4 : j'adore la fete
- reponse d'id 2, avec id_sujet = 4 : moi aussi j'aime bien tout feter
- reponse d'id 3, avec id_sujet = 4 : pareil :)

Tu vois ?
On sait que ces reponses appartiennent au sujet "vive la fete", grace à l'id_sujet.
Datavinn
le 08/08/2003 à 12:47
Datavinn
D'accooord !! :)
Donc si je comprend bien, j'inserre par exemple un tuple de plus s'appelant "imgnew_id" dans les tables illustration, bande dessinée et projet et ensuite dans une page genre "affichagevignette.php" je demande :

SELECT illustration.titre
FROM illustration, imgnews
WHERE imgnew_id= "'.$imgnew_id.'"';

Mais dans l'exemple il n'y a qu'une seul jointure, je sais pas qu'elles sont les ponctuations pour en rajouter deux autres ?

Et si je veux tout, je rajoute des points ? "illustration.titre.type.descr.img" ?
Gniok !
LA GLOBULE
le 08/08/2003 à 13:26
LA GLOBULE
Non, y a pas de points à mettre :)

Le point sert à preciser à quelle table se rapporte tel attribut.

Exemple :

SELECT table1.toto, table2.toto FROM table1, table2; << la, si tu remarque bien les tables table1 et table2 ont toutes les deux un attribut qui porte le meme nom : toto. Pour savoir de quelle table tu parles, t'es oblige de mettre le nom de ta table, puis un point, puis le nom de l'attribut (mais ca ne sert que si tes tables ont un attribut qui porte le meme nom).

Ensuite, pour une jointure sur 3 tables, tout depend de quelle table depend ta troisieme table.

Exemple :

Tu as 3 tables pour un forum :
- une table sujet :
id
titre
date
...

- un table reponses :
id
id_sujet
id_auteur
message
date
...

- une table auteur (celui qui a ecris la reponse) :
id
nom
...

La, tu vois bien que la troisieme table (auteur) se rapporte à la seconde (reponses).
Par consequent, tu auras une jointure du genre :

... WHERE sujet.id = reponses.id_sujet AND auteur.id = reponses.id_auteur ....

Tu vois ?
Sinon, lis les cours, c'est explique les jointures...
Datavinn
le 08/08/2003 à 13:38
Datavinn
Sinon, lis les cours, c'est explique les jointures...
Me fout pas trop la honte, je l'ai lu plus d'une vingtaine de fois ce cours smiley smiley

Mais oui j'ai compris, je m'empesse d'aller essayer tout ceci :)

thx
Gniok !
Répondre
LoadingChargement en cours