Afficher valeurs de tables

Résolu
Xini28 Messages postés 40 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 9 août 2008 - 30 oct. 2005 à 01:34
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 30 oct. 2005 à 21:26
Salut à tous.
J'ai un petit problème sur l'affichage en fonction de deux tables. Ces tables sont en relation avec une autre table pour les lier. J'ai la table contact avec tous mes contacts, ensuite la table section avec toutes mes sections. Après j'ai la table gérer qui permet de relier mes deux tables précédentes. En fait, je voudrais afficher pour un contact, toutes les sections auquel il appartient. J'arrive à afficher les contacts avec les sections, mais les contacts sont marqués en plusieurs exemplaires en fonction du nombre de sections auquel il appartient. Hors je voudrais afficher une fois le contact, suivi de ses sections. Besoin d'un coup de main. Merci d'avance.

31 réponses

Xini28 Messages postés 40 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 9 août 2008
30 oct. 2005 à 14:58
Au lieu du blanc c'est plusieurs ronds à la ligne.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 15:08
Je n'ai pas le temps de tenter de trouver une solution, mais je pense
que tu devrais rechercher vu que t'as tout le code dispo plus haut.
Evite aussi de valider des réponses qui ne sont pas spécialement utiles
à la résolution du problème.



a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
Xini28 Messages postés 40 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 9 août 2008
30 oct. 2005 à 15:10
OK Merci. @+
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
30 oct. 2005 à 16:23
Oui mais après c'est une question de répétitions des données et d'intégrité

Mon exemple est mal choisi, puisque si l'on parle de classe scolaire,
il est claire qu'on ne peut être dans plusieurs à la fois ^^;;



Mais bon une schéma personne/groupe dans lequel une personne peut être
dans plusieurs groupes et un groupe peu avoir plusieurs personne.
Mettre tout ça dans une même table ferait répéter les noms des personne
a chaque fois qu'ils sont dans un groupe et le nom des groupes à chaque
fois qu'ils ont une personne.

Et si a un moment tu veux changer le nom du groupe, il faut le changer pour chaque occurence... Bref c'est du gachis d'espace.



Il vaut mieux faire une table groupe, une table personne, et une table qui relie les deux :) (Cf. Relation many-to-many)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 oct. 2005 à 16:42
Perso j'aurais stocké les classes dans une autre table avec des ID pour
leur donner une signification au lieu de stocker tout le temps la
chaîne CE1, CE2... etc...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
30 oct. 2005 à 16:44
Oui, une relation one-to-many entre une classe et ses élèves est plus logique.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 oct. 2005 à 17:57
Voui, c'est vrai, mais mon interrogation porte surtout sur l'utilisation d'une table relationnel qui lie 2 autres tables.



Quoi que, je viens de réfléchir (la sortie en boite hier ne m'a pas fait que du bien), en faite si, ca peut être utile.



base 1 :

| ID | prenom |



base 2 :

| ID | classe |



base 3 :

| ID | ID-prenom | ID-classe |





Je pense qu'après ca peut être plus gérable ainsi.

"SELECT u1.prenom, u2.class FROM base1 u1, base2 u2, base3 u3 WHERE u3.ID-prenom u1.ID AND u3.ID-classe u2.ID"

Et quand je me reli, je tombe sur la même soluc que monoceros.



En sachant qu'il suffit de mettre en index les IDs, et ca devrait rouler bien correct :)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
30 oct. 2005 à 18:00
oui, dans ta base (table?) 3 il n'y pas besoin de champ ID puisque la
paire ID-prenom et ID-class est indexée en PRIMARY KEY, ce qui fait que
les données peuvent être répétées, mais pas une paire de données
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 oct. 2005 à 18:21
Voui voui, table pas base :) Petit abus de langage de ma part =)

ID-prénom et ID-class en Primary key ? Tu rigoles j'espère ;) ?



Primary key empèche la formation de doublons. Hors, on peut se
retrouver avec un même prénom pour différents individus, et ce pour une
même classe ou pour une classe différente !

Nonon, une clé indexée oui, mais pas en primaire !



Un exemple au hasard (j'ai pris le premier lien) sur l'utilisation d'une clef primaire :

http://databases.about.com/cs/administration/g/primarykey.htm



Voila voila :)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
30 oct. 2005 à 19:19
on peut mettre en PRIMARY KEY une paire de cette façon :

PRIMARY KEY (`id_contact`,`id_section`)

ce qui fait que c'est la paire qui ai analysée pour éviter les
doublons, non plus une colonne individuellement, et c'est bien ce que
j'ai dis =)

(et ça marche je l'emploi tout le temps)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
30 oct. 2005 à 21:26
Ah ok, je l'avais pas vu dans ce sens :)
0
Rejoignez-nous