2 petites questions...

Eléphanteau du PHP | 39 Messages

06 août 2005, 13:28

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 août 2005, 13:31

1 - ça dépend des cardinalités

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

Eléphanteau du PHP | 39 Messages

06 août 2005, 13:34

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?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 août 2005, 13:42

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"

Eléphanteau du PHP | 39 Messages

06 août 2005, 13:50

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...

Eléphanteau du PHP | 39 Messages

06 août 2005, 13:53

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?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 août 2005, 14:00

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 ;)

Eléphanteau du PHP | 39 Messages

06 août 2005, 14:13

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?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

06 août 2005, 14:16

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 ;)

Eléphant du PHP | 147 Messages

06 août 2005, 14:36

si tu a gavé de champ il faut juste que tu evite les requete du genre :
SELECT * FROM ....
maisplutot mettre :
SELECT champ1, champ2... FROM ...