Rouliendelavegas
Messages postés58Date d'inscriptionvendredi 7 août 2009StatutMembreDernière intervention 7 janvier 2011
-
20 juil. 2007 à 11:49
rethenor
Messages postés48Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention 9 mai 2011
-
26 juil. 2007 à 13:46
Bonjour,
J'ai un petit problème pour savoir comment faire ce que je veux grace à MySQL:
Tout est dans l'image :
Alors j'ai essayé ça comme requete:
SELECT U.nom_usr,U.prenom_usr,U.datearrivee,I.id,I.id_usr,I.id_tache,I.statu,T.id,T.nom,T.com
FROM usr U,intervention I,tache T
WHERE U.id_usr = I.id_usr
AND T.id_tache = I.id_tache
AND U.datearrivee > ".$date."
ORDER BY U.datearrivee
Mais si je fais comme ça, si plusieurs intervention correspondent à un utilisateur, j'aurais autant de ligne qu'il y a d'intervention pour cet utilisateur, alors que je voudrais qu'il n'y ai qu'une ligne par usr avec le nombre de champ correspondant au nombre de tache pour celui-ci, comme dans l'exemple.
Je pensais au debut faire d'abbord une requete pour voir le nombre de tache le concernant, puis ensuite cheker leur status dans une boucle de selection des nouveau utilisateur, mais cela m'obligera a inserer une requete dans ma boucle...
Bref je suis sure qu'il existe une requete magique qui puisse faire ce que je souhaite
Merci
cs_putch
Messages postés624Date d'inscriptionmardi 6 mai 2003StatutMembreDernière intervention14 décembre 20091 20 juil. 2007 à 15:04
salut !
"Mysql la notion de jointure n'existe pas"
ah bon ... si tu as le lien dans la doc Mysql qui dit ca je le veux bien ...
sinon sur ta requete, nom et prenom ce sont bien des des Champs alors que café et email ce sont des enregistrements de ta table ... donc pas de requete possible qui realise l'affichage que tu souhaite.
ta requete semble bonne mais apres c'est au au niveau traitement que tu vas pouvoir réaliser ton "affichage"
indique les tables à partir desquelles nous allons obtenir les enregistrements. Si vous indiquez le nom de plusieurs tables, vous faites une jointure. Pour davantage d'informations sur la syntaxe des jointures, consultez Section 13.1.7.1, « Syntaxe de
rethenor
Messages postés48Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention 9 mai 2011 26 juil. 2007 à 13:46
Bonjour,
Je ne comprends pas bien la finalité et qui me paraît dangereuse.
Si j'ai bien compris, Les tâches sont stockées dans une table et les enregistrements de celles-ci font des lignes d'enregistrements. Forcément, puisque c'est une table, elle est appelée à évoluer et rien dans la description faite ne permet de penser qu'il est absolument impossible que la table "Taches" ne contienne un jour 569 enregistrements, 569 lignes.
Dans ce cas, peu probable mais possible, les 569 lignes devraient se retrouver dans 569 colonnes ???
Est-ce bien raisonnable et ergonomique pour l'affichage et la lecture et l'impression du tableau résultant ?
Ne vaudrait-il pas mieux organiser différemment la sortie avec des regroupements :
+---------------------------------------+
| TITI Jean (arrivée: 2007-07-19) |
+-----------+---------------------------+
| | Café : à faire |
| | Email : déjà fait |
+-----------+---------------------------+
| CC Bill (arrivée: 2007-07-15) |
+-----------+---------------------------+
| | Café : à faire |
| | Email : à faire |
| | Photocopieuse : déjà fait |
| | Courrier : à faire |
+-----------+---------------------------+
| etc...
+--------
Il me semble plus facile de lire une page longue qu'une page large. Enfin ! Cette proposition ne correspond peut-être pas à une contrainte à laquelle doit se plier rouliendelavegas...