Requête PHP Mysql

cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 6 mai 2013 à 15:15
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 6 mai 2013 à 19:06
Bonjour

J’ai une questionne qui peut sembler bête, mais qui me cause beaucoup de problèmes, voilà j'ai une table nommé << tâches >> avec différents colonnes bien sûr, mais il y a une colonne << NoEmploye >> qui contient les ids des employés associes à cette tâche sépares par de virgules exemple : 1,2,3,etc.
Ma questionne est comment aller chercher simplement id de chaque employé dans la colonne << NoEmploye >> pour afficher ses tâches quand il se connecte au système.

Présentement j’ai fait un select avec un like qui compare la colonne << NoEmploye >> de tous les côtés pour vérifier si l’id de l’employé existe dans le champ. Je ne suis pas fier de cet méthode c’est pour cela que je chercher un conseil de quelqu’un qui s’en connait en peu plus.
Merci

4 réponses

Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 1
6 mai 2013 à 15:55
Bonjour,

Un Admin BDD dirait qu'il faut mettre une table relationnel entre ta table employes et ta table taches.

En effet, tu as une tache qui correspond à plusieurs employés et pour un employé tu as plusieurs tâches.
Cela correspond à une relation n,n.

Ci-dessous le schéma relationnel que tu devrais avoir :
+---------+          +----------+          +----------+
| Tache   |          | APour    |          | Employe  |
+---------+          +----------+          +----------+
|+id      | * <-+    |+id       |    +-> * |+id       |
| nom     |     +- 1 | idTache  |    |     | nom      |
| ...     |          | idEmp    | 1 -+     | ...      |
+---------+          +----------+          +----------+


Sinon, tu peux conserver ton schéma actuel et gérer tes relations en PHP.
A toi de voir.

Cordialement,
Gigatrappeur
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
6 mai 2013 à 17:48
Bonjour

Merci pour ta réponse, mais mon problème aussi c'est quand on crée une tâche on choisit les employés dans une liste des checkbox parmi d'autres options. Donc si je prends ton idée il faudrait que je exécute deux requêtes, une pour créer la tâche et l'autre qui va créer des lignes dans une autre table pour chaque employé choisit.
0
Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 1
6 mai 2013 à 18:48
En effet.
A toi de voir, si tu préfère être plus performant lors de l'affichage des données ou lors d'une (ou 2) insertions.

Généralement, on privilégie l'affichage.

Cordialement,
Gigatrappeur
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
6 mai 2013 à 19:06
Merci encore

Je pense que tu a raison, vue que c'est lors de l'affichage qu'on consomme plus de ressources.
0
Rejoignez-nous