Trier le résultat d'une requête

Résolu
jipy63 -  
jipy63 Messages postés 10 Statut Membre -
Bonjour,
J'essaye de trier un résultat dans l'ordre décroissant mais je n'y arrive pas !
Quelqu'un pourrait me donner le code pour le tri ?
Voici le script complet :

$dir="mon_dossier/"; 
$mydir=opendir("$dir"); 
while($entryName=readdir($mydir)) 
{ 
$fichier[]=$entryName; 
}
closedir($mydir); 
echo"<table width=100% class='blocw2'><tr><td>";
echo"<FONT FACE='Arial'COLOR='yellow' size='4'><DIV ALIGN='left'><B>Liste</B></font></div></td>";
echo"</td></tr>";
echo"<td width=100% ALIGN='LEFT' VALIGN='TOP'><font size='2'>";
while(list($key,$fic)=each($fichier)) 
{ 
if (eregi("[.]",$fic))
{ 
if (!eregi("^[.]",$fic))
{
$lien="$dir"."$fic"; 
echo"<A HREF='$lien' TARGET='_BLANK'>$fic</A><br>";
}
}
} 
echo"</td></tr></table>";


Merci
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. jipy63 Messages postés 10 Statut Membre 2
     
    Ok, je m'y suis retrouvé, j'ai modifié sort par arsort et c'est règlé, encore merci
    1
  2. jipy63 Messages postés 10 Statut Membre 2
     
    Est-il possible dans l'affichage de ne pas faire apparaitre l'extenssion de fichier ?
    1
  3. Utilisateur anonyme
     
    moi je serai toi, je recupererre les nom de dossier dans un tableau, ensuite tu fais un sort(ton tableau);
    0
  4. jipy63 Messages postés 10 Statut Membre 2
     
    Ok pour cela mais je ne suis pas spécialiste ! Ici l'important c'est de trier par nom de fichier, ils commencent tous par la date ex: "2007-07-20-mon_fichier.pdf" ou "2007-07-19-mon_fichier.pdf", et j'aimerais que dans le tableau final le plus récent arrive en première ligne

    2007-07-20-mon_fichier.pdf
    2007-07-19-mon_fichier.pdf

    le tableau final est à l'adresse : https://www.sportmoteur.be

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    $dir="mon_dossier/";
    $mydir=opendir("$dir");
    $fichier=array();
    while($entryName=readdir($mydir))
    {
    $fichier[]=$entryName;
    }
    closedir($mydir);
    echo"<table width=100% class='blocw2'><tr><td>";
    echo"<FONT FACE='Arial'COLOR='yellow' size='4'><DIV ALIGN='left'><B>Liste</B></font></div></td>";
    echo"</td></tr>";
    echo"<td width=100% ALIGN='LEFT' VALIGN='TOP'><font size='2'>";
    sort($fichier);
    foreach($fichier as $kety=>$fic){
    if (eregi("[.]",$fic))
    {
    if (!eregi("^[.]",$fic))
    {
    $lien="$dir"."$fic";
    echo"<A HREF='$lien' TARGET='_BLANK'>$fic</A><br>";
    }
    }
    }
    echo"</td></tr></table>";

    voila pour ton code

    sinon pour un exemple : https://www.php.net/manual/fr/function.sort.php
    0
  7. jipy63 Messages postés 10 Statut Membre 2
     
    merci, cela fonctionne mais pour trier en décroissant car ici il trie dans l'ordre croissant ?
    0
  8. Utilisateur anonyme
     
    oui, tu rognes les 4 derniers caracteres lol

    le .xxx

    regarde les fonctions sur les strings, tel que substr ou autre.
    0
  9. jipy63 Messages postés 10 Statut Membre 2
     
    Je viens d'essayer de placer le code mais cela me fout une erreur a chaque coups !

    echo substr($fic, -2);
    0
  10. Utilisateur anonyme
     
    echo substr($fic, 0,strlen($fic)-3); ou echo substr($fic, 0,strlen($fic)-4);
    0
  11. jipy63 Messages postés 10 Statut Membre 2
     
    Grand merci, cela est arrangé.
    Voici la portion de code adaptée :

    $lien="$dir"."$fic";
    echo "<A HREF='$lien' TARGET='_BLANK'>";
    echo substr($fic, 0,strlen($fic)-3);
    echo "</a><br>";

    Bonne journée
    0