Bonjour,
// Le tableau $tab_liste1 est un tableau à 2 dimensions construit comme ceci
// issu d'une Base de donnée,
// la table articles :
// Machine | Code | Detail | Prix | Quantite
// M1 | C1 | D1 | P1 | Q1
// M2 | C2 | D2 | P2 | Q2
// M3 | C3 | D3 | P3 | Q3
//Cette table s'affiche sur la page web dans l'ordre de la table de la BdD (normal !)
// NOTA: je ne vous détaille pas l'affichage HTML pour simplifier
//Ma question: je voudrais la trier pour qu'elle s'affiche sur la page web:
// dans l'ordre décroissant de Detail
// donc pour obtenir ceci :
// Machine | Code | Detail | Prix | Quantite
// M3 | C3 | D3 | P3 | Q3
// M2 | C2 | D2 | P2 | Q2
// M1 | C1 | D1 | P1 | Q1
J'utilise la fonction
array_multisort()
// construction du tableau 2D
$tab_liste1[] = array(0 => 'M1', 1 => 'C1', 2 => 'D1', 3 => 'P1', 4 => 'Q1');
$tab_liste1[] = array(0 => 'M2', 1 => 'C2', 2 => 'D2', 3 => 'P2', 4 => 'Q2');
$tab_liste1[] = array(0 => 'M3', 1 => 'C3', 2 => 'D3', 3 => 'P3', 4 => 'Q3');
echo '<pre>'; print_r ($tab_liste1); echo '</pre>'; // pour TESTs
$i = 0;
foreach ($tab_liste1 as $key => $row) // pour TESTs
{
//echo "\$key = ".$key." | "."\$row= ".$row.'<br>'; //Affiche: $key = 0... | $row= Array
//echo "\$tab_liste1[$i]: <br>";
$detail = $tab_liste1[$i][2];
foreach ($row as $key2 => $valeur)
{
echo "\$key2 = ".$key2." | "."\$valeur= ".$valeur.'<br>';
}
$i++;
}
array_multisort($tab_liste1, $tab_liste1[][2], SORT_DESC);
echo '<pre>'; print_r ($tab_liste1); echo '</pre>'; // pour TESTs
Mais ça ne marche pas.
Help please
Cordialement
jf.
---