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

Langage PHP Discussion :

[Tableaux] Classer un tableau par ordre alphabétique


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut [Tableaux] Classer un tableau par ordre alphabétique
    Bonjour,
    J'ai une fonction qui classe les éléments d'un tableau et les affiche selon un ordre numérique dans une liste déroulante :

    - $tableCriteria[6][134] = "Belgique";
    - $tableCriteria[6][135] = "France";
    - $tableCriteria[6][136] = "Allemagne";

    Je souhaiterai classer ces élements par ordre alphabétique, je sais qu'il y la fonction "sort" mais je n'arrive pas à la placer correctement dans mon code, que voici :

    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
     function showCriteriaList($numCriteria, $selectedChoice = 0, $emptychoice = true, $nomId = "") {
     
    		global $tableCriteria;
     
    		if ($nomId=="") {
    			$nomId="criteria".$numCriteria;
    		} 
     
    		$result = "\n<select style=\"width:150px;\" id=\"".$nomId."\" name=\"".$nomId."\">";
     
     
    		foreach ($tableCriteria[$numCriteria] as $key=>$criteria) {
     
    			if ($selectedChoice==$key)	
    			$result .= "\n<option value=\"".$key."\" selected=\"selected\">".$criteria."</option>";
     
    			else  
    			$result .= "\n<option value=\"".$key."\">".$criteria."</option>";		
    		} 
    		$result .= "\n</select>";
    		return $result; 
    	}
    Pouvez-vous m'aider ? merci.

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    il y a un exemple sur la page du manuel http://de3.php.net/manual/fr/function.sort.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $fruits = array("papaye","orange","banane","ananas");
    sort ($fruits);
    foreach ($fruits as $key => $val) {
      echo "fruits[".$key."] = ".$val."\n";
    }
    ?>

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 26
    Points
    26
    Par défaut
    Salut,
    Oui j'avais vu cet exemple mais je ne parviens pas à l'appliquer à mon code
    Je place le "sort" un peu partout et j'ai toujours un message d'erreur !

  4. #4
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    j'ai toujours un message d'erreur
    dans ce cas il faut toujours le mettre dans ton post
    ça nous aidera à voir ce qui ne fonctionne pas.

    Ton tableau ($tableCriteria, sauf erreur de ma part) est global, donc je te conseille de faire le sort à l'extérieur de cette dernière. Comme ça, ça serait une bonne fois pour toute et tu n'auras pas à le faire à chaque appelle de ta fonction (sauf si la liste est modifiée entre temps).

  5. #5
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Laisse-moi deviner, tu as ceci comme message d'erreur :

    Warning: Invalid argument supplied for foreach()



    Il faudrait qu'on voit à quoi ressemble ton array $tableCriteria. S'il n'y a pas de tableau imbriqué, ton code n'est pas correct.
    Si je me trompe, hésite pas ^^

    Mais comme dit plus haut, mieux vaut faire le sort() hors de la fonction

Discussions similaires

  1. Classer un tableau par ordre alphabétique d'un valeur?
    Par morgan47 dans le forum Langage
    Réponses: 10
    Dernier message: 14/02/2012, 15h25
  2. Tri d'un tableau par ordre alphabétique
    Par arouze dans le forum VB.NET
    Réponses: 6
    Dernier message: 02/04/2007, 14h41
  3. Classer les procédures par ordre alphabétique
    Par ouskel'n'or dans le forum Général VBA
    Réponses: 4
    Dernier message: 27/02/2007, 21h22
  4. [MySQL] Classer des résultats par ordre alphabétique
    Par Him dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/07/2006, 14h59
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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