从几个非常不同的SQL表中订购数据

时间:2012-06-10 13:04:36

标签: php jquery mysql ajax

我需要从几个不同的SQL表中回显和排序数据。我不能使用UNION,因为所有的表都非常不同(有6个)。我按时间戳对每个单独的表进行了排序,但需要按时间戳对它们进行排序,因此所有表中的最新事件都位于回显的顶部。

是否有简单的php解决方案或AJAX或jquery解决方案?

这是我目前的代码:

<?php
$result = mysql_query("
SELECT * FROM news 
UNION ALL
SELECT * FROM feature ORDER BY timestamp DESC LIMIT 2
")or die(mysql_error());

while($row = mysql_fetch_array($result)){echo'News: <a     href="index.html">'.$row['title'].'</a><br>' ;}

?>
<?php
$result = mysql_query("
SELECT * FROM members WHERE artist='Y'
ORDER BY timestamp DESC LIMIT 2
")or die(mysql_error());

while($row = mysql_fetch_array($result)){echo'New Artist: <a href="artists/artist.php?    artist='.$row['artistname'].'">'.$row['artistname'].'</a><br>' ;}

?>
<?php
$result = mysql_query("
SELECT  * FROM gigs 
 ORDER BY timestamp DESC LIMIT 2
")or die(mysql_error());

while($row = mysql_fetch_array($result)){echo'New Gig: <a href="artists/gigs.php?     artist='.$row['artistname'].'">'.$row['gigname'].' + '.$row['artistname'].'</a><br>' ;}

?>

1 个答案:

答案 0 :(得分:0)

您可以在返回的时间戳上使用PHP执行.sort()函数 -

  

此函数对数组进行排序。此功能完成后,元素将从最低到最高排列。

http://php.net/manual/en/function.sort.php

将所有数据收集在一起,按查询查询并将它们推入一个奇异数组,然后执行排序&amp;反向或更好Darhazer's suggestion并使用.rsort()(反向排序)将数据操作为(反向)顺序。