par
Skw33d » 12 mai 2011, 19:41
Peut-être qu'une restructuration de la base de données serait plus propre.
Par exemple, au lieu d'avoir une table comme tu as actuellement :
ID_USER, NOM, PRENOM, STATUT, FONCTION
Tu pourrais avoir deux tables :
[USERS] avec les champs suivants :
id_user, nom_user, prenom_user, statut_user
[FONCTION_USERS] avec les champs suivants :
id_user, fonction_user
Puis pour ta requête, une petite jointure :
SELECT nom_user, prenom_user, statut_user, fonction_user JOIN fonction_users ON users.id_user = fonction_users.id_user
Plusieurs avantages à cette méthode :
- Allégement de la base de données
- Optimisation de la requête (beaucoup moins de données à récupérer, parce que avec plusieurs user qui ont plusieurs fonctions, ça fait beaucoup...)
- Évite un traitement PHP
Voilà ! Comme tu dis, ce doit être faisable par tableaux imbriqués mais je te propose vraiment d'opter pour cette solution qui te facilitera bien du code PHP et des requêtes beaucoup plus optimisées.
Peut-être qu'une restructuration de la base de données serait plus propre.
Par exemple, au lieu d'avoir une table comme tu as actuellement :
ID_USER, NOM, PRENOM, STATUT, FONCTION
Tu pourrais avoir deux tables :
[USERS] avec les champs suivants :
id_user, nom_user, prenom_user, statut_user
[FONCTION_USERS] avec les champs suivants :
id_user, fonction_user
Puis pour ta requête, une petite jointure :
SELECT nom_user, prenom_user, statut_user, fonction_user JOIN fonction_users ON users.id_user = fonction_users.id_user
Plusieurs avantages à cette méthode :
- Allégement de la base de données
- Optimisation de la requête (beaucoup moins de données à récupérer, parce que avec plusieurs user qui ont plusieurs fonctions, ça fait beaucoup...)
- Évite un traitement PHP
Voilà ! Comme tu dis, ce doit être faisable par tableaux imbriqués mais je te propose vraiment d'opter pour cette solution qui te facilitera bien du code PHP et des requêtes beaucoup plus optimisées.