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

PHP & Base de données Discussion :

Readdir par ordre de date [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut Readdir par ordre de date
    Bonjour,
    je n'arrive vraiment pas a réaliser un ordre de triage de dossier par leur date de création c'est-a-dire le nouveau dossier sois en tête du listage (du récent au ancien) voici mon code php:

    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
    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
    <?php
    function pagination($conteneur_bd_debut, $conteneur_bd_fin, $conteneur_pg_debut, $conteneur_pg_fin, $page, $nbr_par_page, $nbr_liens, $dossier){
    $tableau = array(); 
    if(is_dir($dossier) {
    $dir = opendir($dossier) or die('Impossible d\'ouvrir le dossier');
     
    while (false !== ($file = readdir($dir)) {
    if ($file != '.' && $file != '..' && $file != 'index.php' && $file != 'index-xml.php') {
    $tableau[] = $file;
    }
    }
    }
    $total = count($tableau);
    $nbr_pages = ceil($total/$nbr_par_page);
    if(!isset($page)){
    $page = '1';
    }
    if($nbr_liens != $nbr_pages){
    $nbr_liens = $nbr_pages;
    }
    if($page >= $nbr_pages){
    $page = $nbr_pages;
    }
    $liens = ceil($nbr_liens/2);
    $pagination_debut = $page-$liens;
    if($pagination_debut < '1'){
    $pagination_debut = 1;
    $pagination_fin = $nbr_liens;
    }
    $filmes = $nbr_par_page * $nbr_pages;
    if(!isset($pagination_fin)){
    $pagination_fin = $page+$liens;
    if($pagination_fin > $nbr_pages){
    $pagination_fin = $nbr_pages+1;
    }
    }
    echo $conteneur_bd_debut;
    $page_fin = $page*$nbr_par_page;
    $page_debut = $page_fin-$nbr_par_page;
    for ($a=$page_debut; $a<$page_fin; $a++){
    	if(isset($tableau[$a])){
    	echo $tableau[$a];
    }
    else{ echo "";
    }
    }
    echo $conteneur_bd_fin, $conteneur_pg_debut;
    if($page > '0'){
    $precedent = $page-0;
    $acces_precedent = '<a id="pagination" href="?page='.$precedent.'"><span>◄ Précédent</span></a> ';
    }
    else{
    $acces_precedent = False;
    }
    if($pagination_debut > '0'){
    $acces_debut = '';
    $rognage_precedent = '<span style="font-family:Arial, Helvetica, sans-serif;
    	font-size:12px;
    	text-decoration:none;
    	color:#0063a5;"></span>';
    }
    else{
    $acces_debut = False;
    $rognage_precedent = False;
    }
    echo $acces_debut, $acces_precedent, $rognage_precedent;
    for ($b=$pagination_debut; $b<$pagination_fin; $b++){
    $numero = $b;
    $pointeur = str_replace($page,'<span>'.$page.'</span>',$numero);
    $chaine.= '<a id="pagination" href="?page='.$b.'">'.$pointeur.'</a> <span id="pagination" >|</span> ';
    $pointeur = str_replace($chaine,'<span>'.$page.'</span>',$chaine);
    }
    echo $chaine;
    if($pagination_fin < $nbr_pages){
    $rognage_suivant = '<span style="font-family:Arial, Helvetica, sans-serif;
    	font-size:12px;
    	text-decoration:none;
    	color:#0063a5;"></span>';
    $acces_page_fin = '<a id="pagination" href="?page='.$nbr_pages.'">'.$nbr_pages.'</a>';
    $acces_fin = '';
    }
    else{
    $rognage_suivant = False;
    $acces_page_fin = False;
    $acces_fin = False;
    }
    if($page < $nbr_pages){
    $suivant = $page+1;
    $acces_suivant = ' <a id="pagination" href="?page='.$suivant.'">Suivant ►</a></center>';
    }
    else{
    $acces_suivant = False;
    }
    echo $rognage_suivant, $acces_page_fin, $acces_suivant, $acces_fin;
    echo $conteneur_pg_fin;
    }
    ?>
    (s.v.p pour les explication soyez aussi clair que possible (je suis noob en php) et ce script je l'ai trouvé sur le net et je l'ai modifié)

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Actuellement tes éléments doivent être lu, les plus anciens en premier.
    Il suffit donc d'inverser le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tableau = array_reverse($tableau);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut
    J'ai rajouter le bous de code que vous avez proposer sabotage ! mais voici ce que apache m'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: array_reverse() [function.array-reverse]: The argument should be an array in C:\xampp\htdocs\index.php on line 3

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu l'as bien mis après la boucle while ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Par défaut
    Oui en effet, le problème s'est qu'il a inversé juste les nom sa veux dire au lieu de commencé par A il a commencé par Z ..! mais ce n'est pas ce que je veux !
    moi je veux que les dossier sois classé du récent au plus ancien! merci.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Hum effectivement readdir ne retourne pas les fichiers par ordre d'enregistrement ; essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while (false !== ($file = readdir($dir))) {
    if ($file != '.' && $file != '..' && $file != 'index.php' && $file != 'index-xml.php') {
    $tableau[filemtime($file)] = $file;
    }
    krsort($tableau);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. traiter des fichiers par ordre de date
    Par Jean.Cri1 dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 20/12/2011, 11h19
  2. Fusionner des fichiers par ordre de date décroissant
    Par rvaysse dans le forum Windows
    Réponses: 4
    Dernier message: 29/12/2010, 16h20
  3. Dates par ordre décroissant
    Par calagan99 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/06/2007, 10h07
  4. [MySQL] Affichage des dates par ordre décroissant
    Par ash_rmy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/03/2007, 13h01
  5. Liste de news par ordre de date
    Par sperron dans le forum ASP
    Réponses: 1
    Dernier message: 26/10/2006, 17h37

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