我需要从几个不同的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>' ;}
?>
答案 0 :(得分:0)
您可以在返回的时间戳上使用PHP执行.sort()
函数 -
此函数对数组进行排序。此功能完成后,元素将从最低到最高排列。
http://php.net/manual/en/function.sort.php
将所有数据收集在一起,按查询查询并将它们推入一个奇异数组,然后执行排序&amp;反向或更好Darhazer's suggestion并使用.rsort()
(反向排序)将数据操作为(反向)顺序。