Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2010, 17h28   #1
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
Par défaut En quoi transformer une table associative en PHP

Bonjour à tous,

Je ne suis pas sur que le titre soit très clair alors je vais m'expliquer, je l'aurait fait de toute manière

Dans le cadre du développement d'une application web j'ai fait mon analyse, réalisé mon MCD, MRD etc..
J'en suis à commencer à coder les classes php et là je me pose une question que je n'avais encore jamais eut à me poser :

Lorsque j'ai une table associative dans mon MCD, en quoi dois-je la transformer dans mon PHP ?
Par exemple je connait les liens familiaux entre différente personnes (adhérent), j'ai donc sur mon MCD une association qui va de ADHERENT vers ... ADHERENT (récursive on dit il me semble).
Comme un adhérent peut etre lié à plusieurs j'ai une association récursive de type N,M.

Dans ma base de données j'ai donc ma table ADHERENT et une table LIENS (table associative) dans laquelle j'enregistre les id des 2 adhérents liés et le statut de l'adhérent 1 par rapport au deuxième.
Exemple :
id_adh1 | id_adh2 | statut
--- 1 --- | --- 2 --- | neveu
--- 2 --- | --- 1 --- | oncle

L'adhérent 1 est le neveu du 2 et le 2 et l'oncle du 1.

Maintenant j'aimerai savoir si cette table associative doit devenir une classe PHP ou si je dois, lors de la récupération des infos d'un adhérent, stocker ses "liens" ds un tableau

En gros dois-je avoir

Code :
1
2
3
4
5
6
7
 
Class Adherent extends Personne
{
    ...
   private $liens <--- Array
   ...
}
ou

Code :
1
2
3
4
5
6
7
8
9
10
 
Class Adherent extends Personne
{
    ...
}
 
Class Liens
{
   public $liens <--- Array
}
Merci d'avance pour votre aide, je recherche simplement la meilleur façon de coder
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h33   #2
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
Je vote pour la première ;-)
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h35   #3
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
D'accord
Une petite argumentation ?
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h38   #4
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
La deuxième solution n'est valable que s'il y a une certaine "logique", c'est à dire des méthodes pour manipuler les liens, parceque tu auras de tte façon un attribut $liens dans la classe Adherents pour instancier Liens, et là Liens n'est qu'une encapsulation d'un tableau ... sans intérêt.
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h42   #5
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
Niveau manipulation des liens, je peux en ajouter, en supprimer et sinon je ne fais que les consulter.
Donc avec ces seules manipulations, la solution 1 est bien viable, non ?
(Question con mais mieux vaut être sur hein )
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h46   #6
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
Oui... mais à partir d'un certains niveau de complexité de manipulation des liens tu sentiras tout seul s'il y a besoin d'évoluer vers la solution 2 ;-)
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 17h51   #7
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
Oki, a priori je n'aurait pas de manipulation autre car ces "liens" ne sont là qu'a titre informatif, histoire de faire un peu des stats aussi.
Mais sachant que lors de l'inscription on ne demande pas si la personne à d'autre membres de sa famille déja adhérent (on pourrait le faire ..) ca sera rempli que lorsqu'on se dira "ah mais tient toi et toi vous etes de la même famille" lol.

Bon ba merci pour ton aide
Rapide et éfficace, j'adore
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 18h18   #8
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
J'ai la tête ailleurs, surement le fait d'etre un peu malade, mais j'ai une deuxième table associative, différente ..

En effet pour un adhérent mineur on enregistre ses parents.
J'ai une entité PARENT et mon entité ADHERENT, les deux sont liés par une association de type N,M.
J'ai donc dans ma base de données une table PARENTÉ qui contient l'id de l'adherent et l'id du parent.

Exemple :
id_adh | id_parent
--- 1 ---| --- 2 ----
--- 1 ---| --- 3 ----
--- 4 ---| --- 2 ----
--- 4 ---| --- 3 ----

J'imagine que là encore la meilleure solution consiste dans l'adhérent à avoir un tableau contenant les id de ses parents tout simplement ?
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 13h17   #9
Futur Membre du Club
 
Inscription : octobre 2008
Messages : 93
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : octobre 2008
Messages : 93
Points : 19
Points : 19
???
Tibimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h10.


 
 
 
 
Partenaires

Hébergement Web