Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1536 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Recuperer la derniere donnee en regroupant pour chaque fiche

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Recuperer la derniere donnee en regroupant pour chaque fiche

n°1783485
jojo023
Posté le 06-09-2008 à 21:29:51  profilanswer
 

Bonsoir,
 
J'ai un soucis que j'essaie de sollutionner dans tous les sens mais en vain :
- Ma table se présente ainsi :
id | idjeu | date | note
1 | 23 | 112203020 | 12
2 | 23 | 112203040 | 15
3 | 15 | 112203065 | 13
4 | 18 | 112203150 | 5
5 | 23 | 112282010 | 11
 
- Je voudrais donc recuperer dans une requete :
selectionner la derniere note enregistrée (par rapport à la date définie en UNIX) et ce pour chaque jeu.
 
J'ai essayer avec GROUP BY ; ORDER BY et LIMIT mais je n'y arrive pas.
 
 
Merci d'avance.


Message édité par jojo023 le 07-09-2008 à 15:18:52
mood
Publicité
Posté le 06-09-2008 à 21:29:51  profilanswer
 

n°1783501
cvb
Posté le 06-09-2008 à 22:02:47  profilanswer
 

Bonsoir,
 
Essaye avec max, sur la date. J'ai jamais essayé sur un champ de ce type. J'ai pas de serveur sous la main pour te le dire. Y a pas de raison.
SELECT max(date) AS last_note FROM matable GROUPE BY note
 
A plutard

n°1783583
jojo023
Posté le 07-09-2008 à 12:00:31  profilanswer
 

Salut cvb,
 
C'est plus ou moins une bonne idée : pour la date c'est okay ça me prend la derniere date pour chaque jeu MAIS ça ne me prend pas la note correspondante à la date en question.
 
Il faudrait en fait trouver un moyen pour inserer ce code dans le WHERE directement; du style :

Citation :

MAX(date) = matable.date


 
Non ?


Message édité par jojo023 le 07-09-2008 à 12:01:06
n°1783584
sielfried
Posté le 07-09-2008 à 12:02:04  profilanswer
 

SELECT idjeu, note, date
FROM tests t1
WHERE date = (SELECT MAX(date) FROM tests t2 WHERE t1.idjeu = t2.idjeu)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1783589
cvb
Posté le 07-09-2008 à 12:44:47  profilanswer
 

Sielfried > Il faut que la base de donnée qu'il utilise, accepte les requêtes imbriqués :)

n°1783591
jojo023
Posté le 07-09-2008 à 12:49:51  profilanswer
 

Si c'est le cas en faisant cela ca fonctionne plus ou moins :
 AND date = (SELECT MAX(date) FROM jeu) AND
 
Mais ça me prend alors que la derniere date de toute la table : sans faire la distinction entre mes différents idjeu.
 
Donc dans mon exemple, ça m'affiche uniquement l'id 5 ; alors que l'id 3 et 4 aurait du etre affiché aussi.
 
Merci

n°1783595
sielfried
Posté le 07-09-2008 à 12:59:02  profilanswer
 

cvb > certes, mais bon ça commence à devenir rare, les SGBD qui gèrent pas ça, je crois. :o
 
jojo023 > Je comprends pas, là. D'où sortent tes "AND" ? Que donne la requête que j'ai donnée, telle quelle ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1783601
jojo023
Posté le 07-09-2008 à 13:21:12  profilanswer
 

Bah j'ai pleins d'instructions avant et apres pour dire que idjeu = a l'idjeu d'une autre table etc.
 
Mais concernant ta requete je ne comprend pas un truc : d'où tu sort les t1 et t2 ?
 
Merci

n°1783602
sielfried
Posté le 07-09-2008 à 13:30:34  profilanswer
 

jojo023 a écrit :

Bah j'ai pleins d'instructions avant et apres pour dire que idjeu = a l'idjeu d'une autre table etc.


 
Hmm... ça me semble être le but des jointures. M'enfin faudrait voir le code et ce que tu cherches à faire... :spamafote:
 

Citation :


Mais concernant ta requete je ne comprend pas un truc : d'où tu sort les t1 et t2 ?


 
Ce sont des alias de tables.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1783629
cvb
Posté le 07-09-2008 à 14:38:25  profilanswer
 

sielfried a écrit :

cvb > certes, mais bon ça commence à devenir rare, les SGBD qui gèrent pas ça, je crois. :o
 
jojo023 > Je comprends pas, là. D'où sortent tes "AND" ? Que donne la requête que j'ai donnée, telle quelle ?


 
 
re,
 
Je suis bien d'accord mais comme il n'as pas spécifié la SGBD qu'il utilise, je prefère le préciser :)

mood
Publicité
Posté le 07-09-2008 à 14:38:25  profilanswer
 

n°1783631
jojo023
Posté le 07-09-2008 à 14:47:12  profilanswer
 

Ta methode sielfried semble fonctionner sans tout mes AND derriere.
Je vous tiens au courant d'ici peu.
 
Merci toujours à tous les deux.

n°1783634
jojo023
Posté le 07-09-2008 à 15:10:03  profilanswer
 

Bon alors voila ce que j'ai fait ; le probleme c'est qu'il me faut rajouter d'autres tables et d'autres instructions WHERE par rapport à ces tables (à chaque fois que j'essaie un truc ca me fait tout planter et ca met 107 ans a redemarrer) :
 
$reponse = mysql_query(sprintf('SELECT t1.date as datej, t1.note as notep FROM jeu t1 WHERE t1.date = (SELECT MAX(date) FROM jeu t2 WHERE t1.idjeu = t2.idjeu) AND t1.iduser = %d', mysql_real_escape_string($_GET['user'])));

n°1783635
jojo023
Posté le 07-09-2008 à 15:18:32  profilanswer
 

Ha enfin c'est bon : c'est parce que j'ai demander trop de choses a mon ordi que ca commence a planter mon systeme.
 
Mais c'est bon maintenant ca marche vraiment PARFAITEMENT : vous etes franchement geniaux (et je dis pas ca parce que vous m'avez recolu ce problème).
 
Merci cvb et sielfried d'avoir pris le temps de me repondre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Recuperer la derniere donnee en regroupant pour chaque fiche

 

Sujets relatifs
[résolu] [PHP] Forcer le type d'une variableProbleme Variable not defined [RESOLU]
[Résolu] Style Css Formulaire IE6Batch : Save et load de backup (résolu)
Affichage d'une donnée dans un champ textRécupérer nom des pcs
gestion des droits d'acces [VBA excel] [RESOLU]VBA: obligé d'ouvrir un fichier pour en récupérer des données?
[Resolu][C#, ASP.net / access] problème requete update[RESOLU] Image dans du HTML : comment les tronquées ?
Plus de sujets relatifs à : [RESOLU] Recuperer la derniere donnee en regroupant pour chaque fiche


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR