IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

DATETIME qui ne prend en compte que le Jour pour le Tri


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut DATETIME qui ne prend en compte que le Jour pour le Tri
    Bonjour,

    Je débute, désole si je m'exprime mal.

    J'ai un problème avec DATETIME.

    J'ai une table qui comprend une cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATETIME 0000-00-00 00:00:00
    , appelée "created"

    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATE_FORMAT(created '%d/%m/%Y') as created ...
    pour formater la date en français.

    Je veux trier un tableau dynamique par DATE soit Cela tri bien par date dans mon tableau mais ça m'affiche des résultats de ce genre :

    01/04/2008
    01/05/2008
    02/04/2008
    03/04/2008
    04/05/2008
    C'est à dire que ça ne prend en compte que le jour et non la date réelle de publication.

    Avez vous une idée pour résoudre cela, je cherche depuis 2 jours sans réponse...

    Merci @ vous

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Le résultat que tu obtiens est conforme à ce que tu demandes.
    Pour un tri correct par date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DATE_FORMAT(created '%d/%m/%Y') as creation ...
    ORDER by created

  3. #3
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Citation Envoyé par jeca Voir le message
    Bonjour,

    Le résultat que tu obtiens est conforme à ce que tu demandes.
    Pour un tri correct par date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DATE_FORMAT(created '%d/%m/%Y') as creation ...
    ORDER by created
    Pour développer un peu la réponse vu que tu es débutant :

    En fait, il est plus simple de garder le format mySQL quelque part en mémoire. Donc pour se faire, tu peux le voir dans le code ci-dessus :

    DATE_FORMAT(created '%d/%m/%Y') as creation

    le champ "created" n'est pas écrasé !!! ca permet donc de trier selon "created" mais à l'affichage, on demandera la valeur de "creation"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    j'ai essayé, l'affichage se tri bien, par contre je perds la mise en forme en français de la date. La date s'affiche selon DATETIME et non selon DATE_FORMAT, par contre il sont dans le bon ordre

    SELECT DATE_FORMAT(created, "%d/%m/%Y") AS creation FROM _testnewsmovies ORDER BY created DESC
    Affichage :
    2008-05-04 00:48:21
    2008-05-02 00:48:21
    2008-05-02 00:48:21
    2008-05-01 00:48:21
    2008-05-01 00:48:21
    2008-05-01 00:48:21
    2008-05-01 00:48:21

  5. #5
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    normal !

    tu essayes surement d'afficher : $result["created"] or il est écrit dans ta requete
    DATE_FORMAT(created, "%d/%m/%Y") AS creation

    Il faut donc afficher : $result["creation"] comme je l'avais mentionné plus haut

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Je suis désolé je ne comprends pas, j'ai pourtant mis exactement ce que tu m'as dit dans ton premier post.

    Voilà ce que j'ai mis maintenant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // on crée la requete SQL
    $sql = 'SELECT title,lang,quality,size,note,created,created_by,allocine,urls,DATE_FORMAT(created, "%d/%m/%Y") AS creation FROM _testnewsmovies ORDER BY created DESC'; 
    $result["creation"] ;
    Merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par darkstar123456 Voir le message
    normal !

    tu essayes surement d'afficher : $result["created"] or il est écrit dans ta requete
    DATE_FORMAT(created, "%d/%m/%Y") AS creation

    Il faut donc afficher : $result["creation"] comme je l'avais mentionné plus haut
    J'ai compris !!! Merci beaucoup ça marche du tonnerre ! J'ai mis plusieurs heures avant de comprendre mais c'est pigé ^^ @ bientot xD

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2010, 14h15
  2. Lots SSIS qui ne prends en compte que les deltas CDC?
    Par Maitre B dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/02/2007, 00h30
  3. [JAR] Archive qui ne prend pas en compte librairie externe
    Par Shiryu44 dans le forum Général Java
    Réponses: 3
    Dernier message: 22/04/2005, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo