Version complète: sur le forum Webmaster Hub : trier un tableau
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Ex-floodeur
J'essaye de regrouper le reséultat de deux requetes SQL recherchant des éléments dans deux tables différentes dans un seul tableau . JE souhaite trier ce tableau par date (date étant un des champs)

Voici mon script actuel :

CODE
$date_rss=array("0");$titre_rss=array("0");$id_rss=array("0");$cdz_rss=array("0");
$req1 = mysql_query("select * from news order by date desc limit 15");
$rank = 1;
while($view1 = mysql_fetch_object($req1)) {
$date = $view1->date;$titre = $view1->titre;$idx = $view1->idx;$cdz = 2;
array_push ($date_rss, "$date");
array_push ($titre_rss, "$titre");
array_push ($id_rss, "$idx");
array_push ($cdz_rss, "$cdz");
$rank++;
}
$req2 = mysql_query("select * from contenu order by date desc limit 10");
while($view2 = mysql_fetch_object($req1)) {
$date = $view2->date;$titre = $view2->titre;$idx = $view2->idx;$cdz = $view2->cdz;
array_push ($date_rss, "$date");
array_push ($titre_rss, "$titre");
array_push ($id_rss, "$idx");
array_push ($cdz_rss, "$cdz");
$rank++;
}
asort($date_rss);
for ($i = 0; $i !=11; $i++)
{
?>
<a href="index-<? echo $cdz_rss[$i] ?>-<? echo $id_rss[$i] ?>-0.html"><? echo $titre_rss[$i] ?></a> - le <? echo $date_rss[$i] ?><br/>
<?
}
?>


En vous remerciant de vos conseils et idées,
MarvinLeRouge
Salut,

Tu as regardé dans l'aide php, du côté de la fonction sort ?
Ex-floodeur
je n'arrive pas à repartir du tri effectué pour afficher ce que je veux afficher derriere : c'est à dire les 10 derniers news ou articles du site triés par date
Ex-floodeur
jai trouvé finalement : array_multisort ($date_rss, SORT_DESC,$titre_rss, $id_rss,$cdz_rss);
Anonymus
Dans ce cas, l'info principale qui manque, c'est le format de tes champs 'date'. wink.gif
Ex-floodeur
c'est en format UNIX smile.gif
Anonymus
Si les noms des champs sont les mêmes, et si le nombre de champs est identique, alors tu peux utiliser 'union' entre tes 2 requètes, et faire le tri directement.
CODE
select * from table1 union select * from table2 order by date
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.