Bonjour,
En fait j'ai un petit problème au niveau de la conceptualisation de mes classes
Donc au niveau conceptuel j’ai par exemple 2 tables :
La table activitée (id, lib adr, lieu, id_dept)
Et la table departement (id_dept, cd_dept, lib_dept)
Relationnellement parlant : une activité concerne un département.
Niveau programmation j’ai une classe qui interagit avec la bdd mysql (dans ce cas présent) avec connection à la base et exécution de toutes les requete sql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9Class mysql{ Constructeur(){ } function selection_mysql(table_en_paramètre, tableau_ de_champs_de_la_table, Identifiant_ciblé){ //Construction de la requête et retour du résultat dans un tableau associatif } }
La classe departement qui hérite donc de la classe mysql
Et enfin la classe Activité qui hérite également de la classe mysql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11Class departement extends mysql{ Constructeur(){ } function selection_departement(identifiant_ciblé){ if ($this->selection_mysql(nom_de_la_table, champ_de_la_table, id_de_l_enregistrement)) //Construction de la requête et sauvegarde du résultat dans un tableau associatif } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Class activitee extends mysql{ Constructeur(){ } function selection_activitee(identifiant_ciblé){ if ($this->selection_mysql(nom_de_la_table, champ_de_la_table, id_de_l_enregistrement)) //Construction de la requête et sauvegarde du résultat dans un tableau associatif : “ select * from activite where id_activite= « $id_activite » “ //A partir de l’id département de la table activitée récupérer les codes et libellées correspondant dans la table département “ select * from department where id_depart=« $id_departement (récupéré du résultat de la première requete) » “ $this->departement = new departement(); $this->departement->selection_departement($this->tableau_activite[$this->champs[“id_dept”]]); $this->tableau_activite[$this->champs[“id_dept”]]=$this->departement; } }
Au final je fais 2 requetes pour construire mon tableau activitée avec les attributs du département correspondant.
“ select * from activite where id_activite= « $id_activite » “
“ select * from department where id_depart=« $id_departement (récupéré du résultat de la première requete) » “
J’aimerais organiser me classes d'une manière et optimale de sorte de pouvoir effectuer une seule requete avec jointure
“ select * from activite, departement where activite.id_dept=department.id_dept and id_activite= « $id » “
Je pensais rajouter une function jointure dans ma classe mysql mais ca devient trop bordélique à gérer.
Je me demandais si vous auriez pas une idée de conception et structuration de classe de sorte de pouvoir utiliser une seule reuquete avec jointure plutot que plusieurs simples?







Répondre avec citation




Partager