-1

複数の異なる SQL テーブルからデータをエコーし​​て並べ替える必要があります。すべてのテーブルが大きく異なる (6 つある) ため、UNION は使用できません。個々のテーブルをタイムスタンプで並べ替えましたが、すべてをタイムスタンプで並べ替える必要があるため、すべてのテーブルの最新のイベントがエコーの一番上に表示されます。

シンプルな 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>' ;}

?>
4

1 に答える 1

0

.sort()返されたタイムスタンプで PHP を使用して関数を実行できる可能性があります-

この関数は、配列をソートします。この関数が完了すると、要素は最下位から最上位に配置されます。

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

すべてのデータをまとめて、クエリごとにクエリを実行し、それらを 1 つの特異な配列にプッシュしてから、並べ替えと逆を実行するか、さらに良いことに、 Darhazer の提案を実行し、(逆の並べ替え) を使用.rsort()してデータを (逆の) 順番に操作します。

于 2012-06-10T13:07:57.857 に答える