Trier un array sur un critère bien précis

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trier un array sur un critère bien précis

Re: Trier un array sur un critère bien précis

par Ryle » 09 sept. 2009, 22:08

Côté php, je pense que la fonction array_multisort() devrait répondre à ton besoin :)

Sinon tu peux aussi le faire directement en SQL, mais ce serait plus une union entre tes deux tables qu'une jointure, et une requête principale autour pour trier le tout :)

Re: Trier un array sur un critère bien précis

par sylvaing26 » 09 sept. 2009, 13:02

Pourquoi ne pas faire une jointure ?
http://sqlpro.developpez.com/cours/sqlaz/jointures/

Trier un array sur un critère bien précis

par sanceray3 » 09 sept. 2009, 12:13

Bonjour à tous,

voilà je vous explique mon problème, du moins mon interrogation.

J'ai deux tables : une table dossier et une table actualité, structurées de la manière suivante (de manière simplifiée) :

TBL_DOSSIER : id_dossier, titre, date_publication
TBL_ACTUALITE : id_actualite, titre, date_publication

Dans chacune d'entre elle, j'ai donc un champ "date_publication". Ce que je voudrais faire, c'est requêter sur chacune d'entre elle pour avoir les 10 dernières actualités et les 10 derniers dossiers. Fusionner ensuite le résultat de ces requêtes et les trier par 'date_publication', afin d'avoir une liste des 20 dernières publications, articles et dossiers confondus, le tout classé par 'date_publication'.

Voilà ce à quoi j'ai pensé :

- Faire deux requêtes, stocker le résultat de chacune d'entre elle dans un array, puis les fusionner avec array_merge. Ensuite c'est là que ça se complique pour moi ! J'aurais aimé faire un tri de ce tableau fusionné sur l'élément 'date_publication'. Et c'est là que je bloque. J'ai essayé tout un tas de fonction mais je ne m'en sors pas.

Voici à quoi ressemble une de mes lignes de mon tableau fusionné :

i:0;a:3:{i:0;s:2:"10";i:1;s:41:"On vous dit tout sur le chauffage solaire";i:2;s:19:"2009-09-07 21:30:53";}

Ce que j'aurais aimé c'est lui passer une fonction qui me permette de lui préciser sur quel élément faire son tri, par exemple la position "i:2;s:19" qui correspond bien à ma date_publication sur l'ensemble de mes lignes.

Enfin voilà j'espère que quelqu'un pourra m'aider sur ce point parce que je ne m'en sors pas. Si vous avez d'autres idées pour arriver à la même finalité, n'hésitez pas je suis preneur.

Par avance grand merci pour vos précieux conseils.