[PHP] trier une requete sql sur les dates

Résolu/Fermé
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
- 11 nov. 2008 à 17:50
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
- 11 nov. 2008 à 19:15
Bonjour,

J'ai une requete sql qui sélectionne tout mes membres avec les dates d'inscription et de dèrnière connexion.
voici le code
$query = 'SELECT id_user,login,mail,newslettre,web,DATE_FORMAT(anniversaire, "%d/%m/%y") as anniversaire,nom,prenom,privilege,DATE_FORMAT(date_inscription,"%d/%m/%y") as date_inscription,DATE_FORMAT(date_login, "%d/%m/%y") as date_login FROM raynal_utilisateurs ORDER BY date_login DESC LIMIT '.$premier_message.','.$nombre_entree_par_page;
		$result = mysql_query($query)or die (mysql_error());

ici j'ai donc mis "ORDER BY date_login" mais le problème, c'est qu'il ne le classe pas selon une date mais simplement en prenant les nombres sans aucun lien donc j'ai ceci :
29/09/08
25/09/08
16/08/08
11/10/08
09/09/08

etc.
comment faire pour avoir ceci :
16/08/08
09/09/08
25/09/08
29/09/08
11/10/08


merci de vos réponses.

7 réponses

divland
Messages postés
194
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
4 septembre 2009
13
11 nov. 2008 à 18:00
bonjour,
il y a un lien : les jours sont décroissants !

a essayer :

ORDER BY strtotime(date_login)

2
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
125
11 nov. 2008 à 18:07
En écrivant ceci, j'ai une erreur :
FUNCTION mogwi-bli.strtotime does not exist

mogwi-bli c'est le nom de la base de donnée sql.
0
divland
Messages postés
194
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
4 septembre 2009
13 > okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014

11 nov. 2008 à 18:12
strtotime = fonction php
à utiliser :

ORDER BY '.strtotime(date_login).'

0
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
125 > divland
Messages postés
194
Date d'inscription
dimanche 22 juin 2008
Statut
Membre
Dernière intervention
4 septembre 2009

11 nov. 2008 à 18:57
J'obtiens quelque chose de bizarre :
11/11/08
07/09/08
16/08/08
09/09/08
24/10/08

on dirait qu'il ne tien pas compte du tri. je crois qu'il a trié le tableau en fonction de l'ID croissant
0
Utilisateur anonyme
11 nov. 2008 à 18:12
concat (substr(date_..(pos,longueur), ... as tri
substr ou left et right
en fait créer une variable intermédaire annee mois jour pour en faire l'argument de tri
et en fin de requête, order by tri

réponse rapide car je regarde le foot

ça donne quelqiue chose comme ça
select concat(SUBSTRING(date_inscription,7,2),SUBSTRING(date_inscription,4,2),SUBSTRING(date_inscription,0,2)
as tri

2
Nuk
Messages postés
177
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
5 mai 2009
22
11 nov. 2008 à 17:53
Essaye en Speciafiant si tu les veux en ordre decroissant (DESC) ou croissant (ASC)
du genre:
$requete=mysql_query("select nom,date form users where date >11/2008 order by date ASC");
cordialement,
0
Utilisateur anonyme
11 nov. 2008 à 17:55
Bonsoir,

une concaténation de annee,mois,jour (avec des substr de la date) et tri sur ce résultat.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nuk
Messages postés
177
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
5 mai 2009
22
11 nov. 2008 à 17:59
Autant pour moi je n'avais pas lu la requete jusqu'au bout.
Essaye la solutionde giheller, qui me parait adaptée.
cordialement,
0
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
125
11 nov. 2008 à 18:02
Je ne comprend pas ce que tu veux dire giheller.
Peux-tu me donner un exemple?

J'essaye ton système divland.
0
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
125
11 nov. 2008 à 19:15
Merci, j'ai compris après avoir failli pété un câble :p
0