Trier un tableau multidimensionnel selon 2 colonnes
Résolu/Fermé
scouiky
Messages postés
16
Date d'inscription
mardi 24 juin 2014
Statut
Membre
Dernière intervention
4 septembre 2015
-
24 juin 2014 à 15:20
scouiky Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 4 septembre 2015 - 1 juil. 2014 à 15:50
scouiky Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 4 septembre 2015 - 1 juil. 2014 à 15:50
A voir également:
- Tableau 2 colonnes
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- 2 comptes whatsapp - Guide
- Fusionner 2 colonnes excel - Guide
3 réponses
alexdu17200
Messages postés
1282
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
833
Modifié par alexdu17200 le 24/06/2014 à 15:25
Modifié par alexdu17200 le 24/06/2014 à 15:25
Salut, pour classer un tableau à plusieurs dimensions dans l'ordre DESC, il s'agit de la commande array_multisort($var_tab, SORT_DESC), l'ordre se fera en fonction de la valeur de la première colonne affichée.
Mais puisque tu dis Je le remplis avec mes boites issues de ma bdd. , pourquoi justement, tu ne fais pas ta requête
Mais puisque tu dis Je le remplis avec mes boites issues de ma bdd. , pourquoi justement, tu ne fais pas ta requête
SELECT * FROM tab ORDER BY longueur DESC AND largeur DESC?
scouiky
Messages postés
16
Date d'inscription
mardi 24 juin 2014
Statut
Membre
Dernière intervention
4 septembre 2015
24 juin 2014 à 15:36
24 juin 2014 à 15:36
Euh ouais... ouais ouais. Mais ouais t'as carrément raison, c'est tout bête, et je sais pas pourquoi je cherche à faire comme ça depuis ce matin.
Bah merci de m'ouvrir les yeux. Purée, je vais me faire un café.
Merci hein, merci mille fois ^^ je vais suppr ce topic maintenant :)
Bah merci de m'ouvrir les yeux. Purée, je vais me faire un café.
Merci hein, merci mille fois ^^ je vais suppr ce topic maintenant :)
alexdu17200
Messages postés
1282
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
833
24 juin 2014 à 15:40
24 juin 2014 à 15:40
De rien, on est là pour çà, moi aussi je suis passé par là, y'a 2-3 ans, alors n'hésite pas, si on peut t'aider, A+
scouiky
Messages postés
16
Date d'inscription
mardi 24 juin 2014
Statut
Membre
Dernière intervention
4 septembre 2015
24 juin 2014 à 15:42
24 juin 2014 à 15:42
ouais ^^ merci a+
scouiky
Messages postés
16
Date d'inscription
mardi 24 juin 2014
Statut
Membre
Dernière intervention
4 septembre 2015
1 juil. 2014 à 15:50
1 juil. 2014 à 15:50
Pour ceux qui passent par là, j'ai trouvé un truc bien sympas qui vient de https://www.php.net/ksort ça ma bien aidé pour trier un tableau selon une colonne.
Même si ça ne répond pas vraiment au topic (ça trie sur 1 colonne), je pense qu'il y a moyen de bidouiller le truc. A voir donc, je ne m'y suis pas penché.
Même si ça ne répond pas vraiment au topic (ça trie sur 1 colonne), je pense qu'il y a moyen de bidouiller le truc. A voir donc, je ne m'y suis pas penché.
A nice way to do sorting of a key on a multi-dimensional array without having to know what keys you have in the array first: <?php $people = array( array("name"=>"Bob","age"=>8,"colour"=>"red"), array("name"=>"Greg","age"=>12,"colour"=>"blue"), array("name"=>"Andy","age"=>5,"colour"=>"purple")); var_dump($people); $sortArray = array(); foreach($people as $person){ foreach($person as $key=>$value){ if(!isset($sortArray[$key])){ $sortArray[$key] = array(); } $sortArray[$key][] = $value; } } $orderby = "name"; //change this to whatever key you want from the array array_multisort($sortArray[$orderby],SORT_DESC,$people); var_dump($people); ?> Output from first var_dump: [0]=> array(3) { ["name"]=> string(3) "Bob" ["age"]=> int(8) ["colour"]=> string(3) "red" } [1]=> array(3) { ["name"]=> string(4) "Greg" ["age"]=> int(12) ["colour"]=> string(4) "blue" } [2]=> array(3) { ["name"]=> string(4) "Andy" ["age"]=> int(5) ["colour"]=> string(6) "purple" } } Output from 2nd var_dump: array(3) { [0]=> array(3) { ["name"]=> string(4) "Greg" ["age"]=> int(12) ["colour"]=> string(4) "blue" } [1]=> array(3) { ["name"]=> string(3) "Bob" ["age"]=> int(8) ["colour"]=> string(3) "red" } [2]=> array(3) { ["name"]=> string(4) "Andy" ["age"]=> int(5) ["colour"]=> string(6) "purple" } There's no checking on whether your array keys exist, or the array data you are searching on is actually there, but easy enough to add.