Page 1 sur 1

Trier array selon plusieurs criteres

Posté : 18 mars 2009, 18:49
par ludovicpages
Salut tout le monde. J'ai un probleme qui me semble simple, mais pour tant je ne trouve aucune aide ni reponse sur google ( peut etre que je pose mal le probleme).

Donc, mo probleme : J'ai une liste d'utilisateur ( ayant un ID unique) . Chaque utilisateur a uploade un certain nombre de videos, et de photos.

Je cherche a les organise selon l'ordre suivant : d'abord par nombre de video, et si pas de video ou si le meme nombre de video, par ordre de photos .
Au final, j'aimerais une liste d'ID dans le bon ordre ...

Voila ... dis comme ça, ça semble simple et je pensais pas y passer la journée ... et pourtant.
Je me suis tourne vers usort(), asort(), array_multisort() ... mais je ne trouve rien qui me permette de faire ca.

Une piste quelqu'un ??

Merci d'avance .

Posté : 18 mars 2009, 19:10
par Kemper
Ces utilisateurs ne viennent pas d'une base de données ? Ce serait facile avec un order by multiple

Posté : 18 mars 2009, 19:15
par ludovicpages
Si, mais la base de donee est super mal faite, donc je prefererais le faire en php.

Posté : 18 mars 2009, 20:14
par Sékiltoyai
Bah tu as ta réponse. PHP n'est pas un langage fait pour manipuler des données. Pour faire ce que tu veux faire, tu dois soit le faire avec un langage adapté (mais tu as refusé mysql qui est le langage qui s'impose), soit le coder à la main.

Bref, il faut utiliser les outils adaptés pour faire ce que l'on a à faire…

Re: Trier array selon plusieurs criteres

Posté : 19 mars 2009, 09:44
par Calimero
Voila ... dis comme ça, ça semble simple et je pensais pas y passer la journée ... et pourtant.
Je me suis tourne vers usort(), asort(), array_multisort() ... mais je ne trouve rien qui me permette de faire ca.
Pourtant ces fonctions permettent de faire des tris hautement personnalisés, elles sont justes un peu complexes à mettre en oeuvre. Je pense (tout comme Sékil) que tu élimines des solutions trop vite.

Posté : 19 mars 2009, 10:39
par Invité
Ok, merci !
C'est vrai que j'ai éliminé la solution SQL direct car je suis absolument pas à l'aise avec.
Je vais réinvestiguer dans ce sens donc.

Mais il me semble dommage de ns pas avoir de solutions php à ce problème, car le tri des donnees me semble un probleme courant, et les donnees peuvent etre ailleurs que dans une base de donnee ( xml par exemple).

Merci encore, je vais hanter un forum SQL ;)

Posté : 19 mars 2009, 11:41
par naholyr
Mais il me semble dommage de ns pas avoir de solutions php à ce problème, car le tri des donnees me semble un probleme courant, et les donnees peuvent etre ailleurs que dans une base de donnee ( xml par exemple).
C'est pour ça que quelques hurluberlus font des XMLDB ;)

Mais sinon avec usort() tu dois pouvoir faire à peu près ce que tu veux.