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

Langages serveur Discussion :

Trier une liste


Sujet :

Langages serveur

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 47
    Points
    47
    Par défaut Trier une liste
    Bonjour,

    J'ai une liste générée dynamiquement que j'aimerais trier croissante, elle est de la forme suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <option value="../dossier/1_V.php">1 - Titre</option>
    <option value="../dossier/4_V.php">4 - Titre</option>
    <option value="../dossier/2_V.php">2 - Titre</option>
    <option value="../dossier/5_V.php">5 - Titre</option>
    <option value="../dossier/3_V.php">3 - Titre</option>
    <option value="../dossier/7_V.php">7 - Titre</option>
    <option value="../dossier/6_V.php">6 - Titre</option>
    Comment puis-je faire en PHP pour réorganiser ces lignes de manière à ce que les "option' soient dans un ordre croissant ?

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    c'est lors de la génération de ta liste qu'il faudrait faire le tri. tu la génère comment ?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Je renseigne les différentes variables dans un formulaire,
    ensuite j'envoie le tout vers le script PHP suivant :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /*  LISTE  */			  
    $liste_url = $_SERVER["DOCUMENT_ROOT"].$liste;
    $liste_content = file_get_contents($liste_url);
     
    if (preg_match('#'.$matcher.'#', $liste_content)) { 
    	$optionwrite = (preg_replace('[<option(.*)'.$matcher.'(.*)/option>]', $option, $liste_content)); 
    	}
    	else { $optionwrite = $liste_content.$option."\n"; }
     
    	$fichier = fopen ($liste_url , "w+");
     
    	fwrite ($fichier , $optionwrite); 
     
    	fclose ($fichier);

    Petite explication :

    • je récupère le contenu de ma liste dans la variable $liste_content,
      • si l' "option" associé existe déjà, je le remplace par le nouveau et réécrit ma liste ainsi,
      • si non je rajoute l' "option' à la fin de ma liste.

    Dans tous les cas, je crash ma liste existante pour la réécrire.

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    vue que tu utilises une méthode de lecture / écriture, il faudrait une fois ton fichier modifier le relire en stockant les données dans un tableau, trier ton tableau et remplacer les données de ton fichier par celle de ton tableau. tu n'aura pas de fonction de tri auto malheureusement.

    si ta liste était alimentée depuis une base de données il suffirait d'effectuer le tri sur ta requête mais là ce n'est pas le cas. tu ne peux donc pas trier ton fichier mais seulement les données que tu t'exportes.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Lorsque tu dit :

    il faudrait une fois ton fichier modifier le relire en stockant les données dans un tableau
    Ça veut dire qu'il faudrait que je découpe ma liste en variable pour utiliser array ? Je ne vois pas ce que c'est que le tableau en fait.

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    un tableau et un array
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Ah bah je le savais sans le savoir alors ^^

    Avec la fonction preg_match(), je peux créer mon ensemble de variable, avec un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('<option(.*)</option>, $liste_content, $matches);
    mais je ne sais pas comment je peux récupérer l'ensemble des variables $matches[i] créées pour utiliser ensuite la fonction sort(). Il y a un moyen de faire ça alors qu'on ne sait pas combien il y en a ?

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Voila la solution que j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $liste_a_trier = explode("\n", $optionwrite);
    natsort($liste_a_trier);
    $optionwrite = implode("\n", $liste_a_trier);
    Problème résolu !

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

Discussions similaires

  1. Trier une liste chainée.
    Par gregb34 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 21/05/2006, 22h05
  2. Trier une liste de dossiers et de fichiers
    Par steveleg dans le forum Langage
    Réponses: 2
    Dernier message: 07/04/2006, 16h54
  3. trier une list
    Par elekis dans le forum C++
    Réponses: 4
    Dernier message: 23/03/2006, 12h01
  4. [c#] Trier une liste de nombres liés.
    Par Joad dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/05/2005, 11h17
  5. [Debutant(e)]Trier une liste
    Par LeDébutantJava dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 19/08/2004, 12h44

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