Trier array selon plusieurs criteres

Petit nouveau ! | 2 Messages

18 mars 2009, 18:49

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 .

Eléphanteau du PHP | 30 Messages

18 mars 2009, 19:10

Ces utilisateurs ne viennent pas d'une base de données ? Ce serait facile avec un order by multiple

Petit nouveau ! | 2 Messages

18 mars 2009, 19:15

Si, mais la base de donee est super mal faite, donc je prefererais le faire en php.

ViPHP
ViPHP | 5924 Messages

18 mars 2009, 20:14

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…

ViPHP
ViPHP | 2287 Messages

19 mars 2009, 09:44

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.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Invité
Invité n'ayant pas de compte PHPfrance

19 mars 2009, 10:39

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

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

19 mars 2009, 11:41

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.