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 :

Tri Date avec Multisort


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 176
    Points : 75
    Points
    75
    Par défaut Tri Date avec Multisort
    Bonjour,

    Je n'arrive pas a trier une date avec la fonction multisort.

    Actuellement, comme données a travailler j'ai ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    row_tabArray
    (
        [0] => Array
            (
            [USER_NAME] => JEAN Paul
                [EQUIPE] => team1          
                [DAY] => 15-JAN-12            
                [VILLE] => Paris
            )
     
        [1] => Array
            (
            [USER_NAME] => TOUL Gille
                [EQUIPE] => team1          
                [DAY] => 15-FEB-12            
                [VILLE] => Paris
            )
     
        [2] => Array
            (
            [USER_NAME] => JEAN paul
                [EQUIPE] => team1          
                [DAY] => 25-DEC-12            
                [VILLE] => Marseille
            )
    Le probleme, c'est que quand je fais un multosort avec comme premier critère la ville et comme deuxième critère la date, je me retrouve avec:
    [2] => Array
    [1] => Array
    [0] => Array
    En effet, php "tri" mes date mais par ordre alphabétique et non chronologique.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $USER_NAME = array();
    $EQUIPE = array();
    $DAY= array();
    $VILLE= array();
     
    foreach ($row_tab as $key => $row) {				
    $USER_NAME[$key] = $row['USER_NAME'];
    $EQUIPE [$key] = $row['EQUIPE '];
    $DAY[$key] = $row['DAY'];
    $VILLE[$key] = $row['VILLE'];
    }
     
    array_multisort($VILLE, $DAY, $USER_NAME, $EQUIPE);
    Auriez vous une ssolution pour que le deuxieme critere de tri par date fonctionne?
    Merci pour votre aide,
    Cordialement,
    Benjamin.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    il faut que tu transformes DAY en une date véritable, sinon ça restera que du texte.

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    En effet, php "tri" mes date mais par ordre alphabétique et non chronologique.
    C'est normal vu le format des dates "15-JAN-12"
    Il faut convertir ces dates dans un format compréhensible pour PHP : par exemple timestamp (strtotime( )/DateTime::createFromFormat( )) ou YYYYMMDD.

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 176
    Points : 75
    Points
    75
    Par défaut
    Merci, c’était bien ça le probleme.

    Pour information, j'ai utilisé cette solution:
    http://www.php.net/manual/fr/datetim...fromformat.php

    Dont un exemple est:
    <?php
    $date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
    echo $date->format('Y-m-d');
    ?>

    Encore merci !

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

Discussions similaires

  1. Tri date avec format spécial
    Par jojom13 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/01/2008, 15h21
  2. Tri avancé avec 2 critères dont une date
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/11/2007, 15h42
  3. verifier une date avec TRY CATCH
    Par DJERDJAR YACINE dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/07/2007, 15h08
  4. [MySQL] Tri par date avec timestamp
    Par shutdown76 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/01/2007, 02h37
  5. [Tableaux] tri tableau avec date
    Par omelhor dans le forum Langage
    Réponses: 12
    Dernier message: 17/10/2006, 20h24

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