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


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

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

Message le Mar Juil 06, 2010 17:32

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 !


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 473
Inscription: 15 Juin 2007

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

Message le Mer Juil 07, 2010 8:16

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.


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

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

Message le Mer Juil 07, 2010 8:23

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 ?


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

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

Message le Mer Juil 07, 2010 8:30

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).


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

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

Message le Mer Juil 07, 2010 8:32

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!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités