Page 1 sur 1

2 petites questions...

Posté : 06 août 2005, 13:28
par wadzar
Salut!

2 questions sur la BDD:


-1: Comment on créée un liens entre 2 tables? En fait, j'ai une table index_membres et plusieurs autres tables qui listent aussi les membres, en rajoutant chacune des infos d'un autre type. Comment lie t'on les tables, pour que l'ID des membres ds index_membre corresponde à toutes les autres ID des membres sur les autres tables?

-2: je m'en rappelle plus :lol: Dès que ça me revient j'édite lol.

Posté : 06 août 2005, 13:31
par ouckileou
1 - ça dépend des cardinalités

voici un exemple : http://www.phpfrance.com/forums/voir_re ... .php#48275

Posté : 06 août 2005, 13:34
par wadzar
Merci de ta reponse.

(cardinalités? :? :? ...)

Sinon sur ton lien, si j'ai bien compris le champs ID de mes tables sera juste récupéré sur le champs id de ma table qui liste mes membres c'est ça?

Posté : 06 août 2005, 13:42
par ouckileou
oui j'ai été un peu chiche sur les caridnalités :)

Par ex : si tu gères une concession automobile, chaque modèle n'est construit par qu'un et un seul constructeur
Par contre, un constructeur produit lui 1 ou ou plusieurs modèles

donc on a des cardinalités 1,1 d'un coté, 1,n de l'autre, donc on peut stocker le numéro de la marque directement dans la table "Modèles"

Code : Tout sélectionner

Modeles --------- id_modele id_marque ----> clé étrangère Marques ---------- id_marque nom_marque
pour ta question je ne sais pas, cela dépend comme je l'ai dit de ce schéma
mais je ne comprend pas pourquoi tu as plusieurs tables "membres"

Posté : 06 août 2005, 13:50
par wadzar
Merci mille fois!

Ben en fait c'est un site de jeu, alors je peut pas mettre toutes les infos sur le compte d'un membre sur une table non? Ca ferai des centaines de champs! Alors je met ce qui concerne ça dans une table, ce qui concerne ça dans une autre etc...

Posté : 06 août 2005, 13:53
par wadzar
Ah oui, ma seconde question: j'ai un formulaire d'inscription (imaginons), et qq le remplit et envoit. Ca arrive sur la BDD. Mais je voudrait une validation par mail. Ca pourrai pas être envoyé sur une table qui liste les inscriptions en cours de confirmations, puis dans le mail un lien qui ordonne à une page de deplacer l'entrée vers la table qui liste les membres?

Posté : 06 août 2005, 14:00
par ouckileou
Merci mille fois!

Ben en fait c'est un site de jeu, alors je peut pas mettre toutes les infos sur le compte d'un membre sur une table non? Ca ferai des centaines de champs! Alors je met ce qui concerne ça dans une table, ce qui concerne ça dans une autre etc...
pourquoi pas ? il n'y a pas de limitation de champs, et les infos concernant un membre devraient être dans la table "Membres"

maintenant tu peux faire comme tu veux, mais des requêtes sur des tables différentes seront moins rapides

pour ta deuxième question, encore une fois tu vois compliqué je pense :
dans ta table membre, tu rajoutes un champ "valide", que tu mets à 0 ou 1 suivant que le compte est validé ou non

sinon avec ta méthode.. tu vas jamais t'en sortir ;)

Posté : 06 août 2005, 14:13
par wadzar
Ah ok merci encore.

Mais si je met juste 0 ou 1, comment faire comprendre au formulaire de loggin que si le compte a un 0 il doit pas le prendre en compte?

Posté : 06 août 2005, 14:16
par ouckileou
dans ta condition de requête

tu dois avoir ce genre de requête :
SELECT COUNT(*) FROM membres WHERE login = 'bob' AND password = 'toto'
tu rajoutes donc :
AND valide = 1
les critères de requêtes servent justement à ne prendre que certaines lignes
en partant de ta méthode, il faudrait une table par condition : impossible ;)

Posté : 06 août 2005, 14:36
par NoNos
si tu a gavé de champ il faut juste que tu evite les requete du genre :
SELECT * FROM ....
maisplutot mettre :
SELECT champ1, champ2... FROM ...