Page 1 sur 1
Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 10:16
par melodide
Bonjour à tous,
Je dispose d'une table appelé HISTO qui comporte 5 'variables' :
ID_HISTO
CODE
LIB
DATE
CDE_LABEL
J'aurais aimé grâce à une requête sql assembler les 'CODE_LABEL' semblables dans un même tableau et ça pour chaque code. En faite mes CODE_LABEL correspond aux personnes inscrites à mon site internet et j'aurais voulu voir le nombre ou la fréquence de connexion pour chacune d'elles mais dans des tableaux différents pas un tri avec order by.
est ce possible??!
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 11:07
par ouckileou
Je comprends pas trop ce que tu entends par "tableau". Tu peux utiliser GROUP BY et une fonction de somme par exemple, pour connaître le nombre de connexion.
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 11:24
par melodide
En faite dans ma base j'aimerais voir s'afficher :
CDE_LABEL ID_HISTO CODE LIB DATE
1 2641 1 connect 26/04/2010 10:15
1 1138 2 connect 26/04/2010 10:15
1 4863 3 connect 26/04/2010 10:15
et dans une autre table
CDE_LABEL ID_HISTO CODE LIB DATE
2 2641 1 connect 26/04/2010 10:15
2 1138 2 connect 26/04/2010 10:15
2 4863 3 connect 26/04/2010 10:15
Ainsi de suite avec tous mes utilisateurs dans des tables différentes
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 11:30
par ouckileou
Aucun intérêt de créer une table par utilisateur, ça ne va t'amener que des problèmes. C'est à la sélection que tu vas trier les données par utilisateur.
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 13:00
par melodide
Exacte sa ne sert strictement à rien de faire comme ça.
En faite j'ai redemandé à mon patron ce qu'il voulait exactement et ce n'est pas ça.
Il veut que la base s'affiche sous cette forme :
code lib date cde_label
15348 action1 26/04/2010 12:36 9558
15346 action2 26/04/2010 12:38 9558
16489 action1 26/04/2010 12:40 6505
16479 action2 26/04/2010 12:42 6505
En faite il veut voir pour une même date les actions grouper par utilisateur
J'ai fait ce code :
$sql = 'SELECT * FROM HISTO GROUP BY CDE_LABEL ORDER BY DATE DESC';
Le problème c'est que ce code affiche :
code lib date cde_label
59225 connexion admin 26/04/2010 12:31:58 5706
59222 connexion admin 26/04/2010 12:18:42 156
Le tri par date est fait mais pas de regroupement par cde_label : ce code permet l'affichage d'une seule connexion d'un utilisateur (cde_label) et sa pour une seule date mais pas toutes ces connexions.
Par exemple d'après ce que me renvoie le code mon patron qui se connecte au moins une dizaine de fois par jour au site ne se serais connecter qu'une fois le 12/12/2008 je ne comprend donc pas pourquoi ça ne fonctionne pas
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 13:57
par ouckileou
Tu ne peux grouper que si tu utilises une fonction appropriée, exemple : COUNT
Cela va compter le nombre d'action pour chaque compte, si tu groupes par compte. Tu peux ensuite grouper par date. Si tu veux avoir toutes les actions de chaque utilisateurs, tu ne peux pas grouper, mais les trier, avec order by.
Donc ta requête serait plutôt comme ça :
SELECT * FROM HISTO ORDER BY DATE DESC, CDE_LABEL
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 14:06
par Invité
Ok ce code je l'est déjà essayé le problème c'est que sa ne regroupe pas toutes les actions d'un même utilisateur.
J'ai bien le tri par date mais ce tri doit être effectué avant le tri des utilisateurs si bien que ça me tri pas mes utilisateur j'ai par exemple :
CODE LIB_ACTION DATE CDE_LABEL
59234 connexion admin 26/04/2010 13:46:53 1386
59232 connexion admin 26/04/2010 13:33:34 1
59231 connexion admin 26/04/2010 13:31:26 5971
59230 connexion admin 26/04/2010 13:23:59 2579
59229 connexion admin 26/04/2010 13:00:56 156
59227 connexion admin 26/04/2010 12:34:46 3337
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 14:29
par melodide
En faite j'ai trouver la solution il suffisait d'inverser CDE_LABEL et DATE dans 'order by' mais j'ai toujours un souci je n'arrive pas à extraire l'heure de la date
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 14:43
par ouckileou
Qu'est-ce que tu veux dire par "extraire" ?
Tu as un tuto sur les dates dans le forum FAQ et tu peux regarder les fonctions de date/heure de MySQL
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 15:08
par melodide
bin je voudrais supprimer l'heure en faite et garder que la date dans mon champ date
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 15:33
par ouckileou
Il y a une fonction pour ça, très simple. Tu trouveras le lien vers la doc dans le sujet manipulation de dates de la FAQ
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 15:54
par melodide
Ok merci beaucoup

Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 16:05
par melodide
Encore moi
je ne sais pas si vous pourrez m'aider pour ça mais mon patron veut pour une même date quelque chose qui ressemble à ça :
code lib date cde_label
1538 connexion 26/04/2010 1 +
et quand on clique sur le '+' on voit toutes les actions de cet utilisateur pour cette date.
Quelqu'un sais comment faire?
Re: Tri des éléments d'une table dans tableaux différents
Posté : 26 avr. 2010, 16:25
par ouckileou
Ce sont plusieurs problèmes différents. Pour le format de la date en Français, tu as la réponse dans le sujet de la FAQ, je te remets le lien :
faq-tutoriels/quelques-petites-manipula ... t8323.html
Pour le "+" qui déroule une liste, c'est côté affichage (HTML/Javascript) donc je te laisse poster dans le forum approprié.