Trier un array et catégoriser les infos (ou requêtes multiples ?)

WRInaute accro
Bonjour,

Je tire des données d'une base de données, qui contient une ligne par produit : pomme, fraise, poivron, pomme de terre, chaque produit ayant ses caractéristiques.

Après la requête, j'ai un array $row qui contient :
1 => Pomme
2 => Rouge
3 => Sucrée
4 => Acide
5 => Fruit

1 => Fraise
2 => Rouge
3 => Sucrée
4 => Doux
5 => Fruit

1 => Poivron
2 => Rouge
3 => Neutre
4 => Doux
5 => Légume

1 => Pomme de terre
2 => Jaune
3 => Neutre
4 => Doux
5 => Féculent

Et je voudrais afficher les résultats par critère "5" donc faire :
Tous les fruits :
- Fraise
- Pomme

Tous les légumes :
- Poivron

Tous les féculents :
- Pomme de terre

Que vaut il mieux faire ? Multiplier les requêtes SQL ou trier le tableau PHP ?
Comment faire ?

Merci à vous !
 
WRInaute occasionnel
Bonjour,

Les deux solutions sont possibles, encore que la vraie réponse soit d'affiner la requête que tu envoies à la base de données avec un group by chps_5 (pour la requête SQL). sinon, il y a le array_multisort, pour trier tes tableaux car tu dois normalement avoir des tableaux de résultats... Personnellement, je préfère le SQL.
 
WRInaute accro
Ok merci, même si ma requête en question comporte un SELECT DISTINCT avec une triple jointure sur 2000 lignes pour environ 45 champs tu préfères le SQL ?
 
WRInaute accro
Perso j'aime assez utiliser des tableaux pour ce genre de choses, et en effet array_multisort est incontournable (ainsi que les commentaires qui sont présents sous le détail de la fonction, sur la page de php.net).
 
WRInaute accro
Je vais voir du coté de multisort car pour moi, la solution SQL a des inconvénients : SQL et apache sont sur deux serveurs, l'un prend cher à chaque visite, l'autre ne fourni que des fichiers en cache.
Avec le multisort, je pense n'utiliser que le serveur apache pour mes traitements.

A voir!
 
Discussions similaires
Haut