Tri d'un tableau

Tri d'un tableau - PHP - Programmation

Marsh Posté le 10-01-2009 à 18:35:48    

Bonjour, voila je souhaiterai trier un tableau dans le sens décroissant ( avec les nom des fichiers dans le tableau ).
voici mon script :
 

Citation :

<?php
$nb_fichier = 0;
echo '<table>';
?>
<?php
if($dossier = opendir('./dossier'))
{
?>
<?php
while(false !== ($fichier = readdir($dossier)))
{
?>
<?php
if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
{
?>
<?php
$nb_fichier++; //On incrémente le compteur de un
echo '<tr><a href="./dossier/' . $fichier . '">' . $fichier . '</a></tr><br/>';
} //On ferme le if (qui permet de ne pas afficher index.php, etc.)
 
} //On termine la boucle
?>
<?php
echo '</table><br />';
closedir($dossier);
 
}
 
else {
     echo 'Le dossier n\' a pas pu être ouvert';
  }
?>


 
Pour l'instant je ne fait que afficher mes fichiers ( extraits d'un dossier ) mais je voudrai que le tableau les affiches dans l'ordre décroissant.
Je pense que la fonction rsort() pourrai marcher mais je n'y arrive pas pouvez vous m'aider svp ???
 
Merci d'avance Nagero

Reply

Marsh Posté le 10-01-2009 à 18:35:48   

Reply

Marsh Posté le 11-01-2009 à 18:06:44    

Il faut pour cela que tu construises un tableau des fichiers de ton dossier avant l'affichage :
Si tu utilises PHP 5 et + :

Code :
  1. $files = scandir($dirname); //pas besoin de opendir et compagnie, seule l'appel à scandir suffit


Sinon, la méthode que tu utilises revisitée :

Code :
  1. $files=array();
  2. while(false !== ($fichier = readdir($dossier))) {
  3.    $files[] = $fichier;
  4. }


 
Puis tu fais :

Code :
  1. $files = rsort($files); //tri du tableau
  2. ?>
  3. <table>
  4. <?php
  5. foreach($files as $file) :
  6. ?>
  7.    <tr><?php echo $file ?></tr>
  8. <?php
  9. endforeach;
  10. ?>


 
La seconde étape consiste à trier le tableau, puis à le parcourir avec foreach pour lister les fichiers.


Message édité par Profil supprimé le 11-01-2009 à 18:08:11
Reply

Marsh Posté le 14-01-2009 à 22:22:40    

voila j'ai mis ça

Citation :

<?php
if($dossier = opendir('./newletter/admin/upload/fichier'))
{
?>
<?php
while(false !== ($fichier = readdir($dossier)))
{
?>
<?php
if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
{
?>
<?php
$file = array ("$fichier" );
$file = rsort($file);
    echo '<tr><a href="./newletter/admin/upload/fichier/' . $fichier . '">' . $fichier . '</a></tr><br/>';
 
 
} //On ferme le if (qui permet de ne pas afficher index.php, etc.)
 
} //On termine la boucle
?>
<?php
echo '</table><br />';
closedir($dossier);
 
}
 
else {
     echo 'Le dossier n\' a pas pu être ouvert';
  }
?>

et pas moyen d'afficher le tableau dans l'ordre alphabétique décroissant quelqu'un pourrait m'aider ?? svp merci beaucoup

Reply

Marsh Posté le 15-01-2009 à 17:58:44    

t'as lu mon message ou quoi ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed