Vous êtes ici Codes PHP et MySQL > Date-Heure > Classement de dates

 

Classement de dates

Voila, il s'agit d'un petit code que j'ai fais suite à une demande dans un forum...

Il permet de classer des dates au format AAAA-MM-JJ contenues dans un fichier texte (1 date / ligne), selon A, M, ou J et de manière croissant
 
R@f
Site de l'auteur voir
[17] sources en PHP voir
Code vu 7589 fois
Enregistré le 16 Nov 2004
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Classement de dates
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Classement de dates                                       */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts95-PHP.htm               */
/* Auteur         : R@f                                                       */
/* Date édition   : 16 Nov 2004                                               */
/* Website auteur : http://www.allpotes.ch                                    */
/*                                                                            */
/******************************************************************************/
?>
 <?php
/*
-------
Params:
-------
$file = url du fichier (relatif)
$critere = A ou M ou J
$order = asc ou desc

-------
Retour:
-------
1 ou 0
*/

function classer($file$critere$order)
{
    $fichier = @file($file);
    
    // si aucune ligne
    $count count($fichier);
    if($count == 0)
        return FALSE;
        
    // on enlève les rn finaux
    for($i 0$i $count$i++)
        $fichier[$i] = rtrim($fichier[$i]);
        
    // paramètre critère
    $critere strtolower($critere);
    if($critere == 'a')
        $GLOBALS['critere'] = 0;
    else if($critere == 'm')
        $GLOBALS['critere'] = 1;
    else if($critere == 'j')
        $GLOBALS['critere'] = 2;
    else
        return 0;
        
    $order strtolower($order);
    if($order == 'asc')
        $GLOBALS['order'] = -1;
    else if($order 'desc')
        $GLOBALS['order'] = 1;
    else
        return 0;
        
    if(!usort($fichier"comparer"))
        return 1;
        
    $sortie implode("rn"$fichier);
    $fp fopen($file'w');
    
    if(!$fp)
        return 0;
        
    if(!@fputs($fp$sortie))
        return 0;
        
    @fclose($fp);
    
    return 1;
}

function comparer($a$b)
{
    $array_a explode('-'$a);
    $array_b explode('-'$b);
    
    if($array_a[$GLOBALS['critere']] == $array_b[$GLOBALS['critere']])
        return 0;
        
    return ($array_a[$GLOBALS['critere']] > $array_b[$GLOBALS['critere']]) ? - $GLOBALS['order'] : $GLOBALS['order'];
}

echo classer('fichier.txt''j''desc');
?>


 

Fonctions du code

: Lit le fichier et renvoie le résultat dans un tableau - (PHP 4, PHP 5)
: Compte le nombre d'éléments d'un tableau ou le nombre de propriétés...
: -
: Renvoie une chaîne en minuscules - (PHP 4, PHP 5)
: Trie un tableau en utilisant une fonction de comparaison - (PHP 4, PHP 5)
: Rassemble les éléments d'un tableau en une chaîne - (PHP 4, PHP 5)
: Ouvre un fichier ou une URL - (PHP 4, PHP 5)
: Alias de fwrite() - (PHP 4, PHP 5)
: Ferme un fichier - (PHP 4, PHP 5)
: Coupe une chaîne en segments - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Date-Heure

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité