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
9
Class 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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Class 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
    }
}
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
11
12
13
14
15
16
Class 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?