0

メッセージがこのように表示されるようにしようとしています

*旧メッセージ

より早いメッセージ

新しいメッセージ

最新のメッセージ*

私はいくつかの異なる方法を試しました。置くことによって

  SELECT * FROM place_chat WHERE whereto = '".mysql_real_escape_string($where)."' ORDER BY     id DESC LIMIT 7"

^ でもそれだと最新のメッセージが一番上に表示されるだけなので、やってみました。

  SELECT * FROM place_chat WHERE whereto = '".mysql_real_escape_string($where)."' ORDER BY     id ASC LIMIT 7" 

^しかし、その後、表示方法を調整するのではなく、最も古いメッセージのみを表示することをリリースし、確認してテストしました. 最も古いメッセージが表示されました。

誰かがこれを行う方法を説明してもらえますか? 私はしばらくの間それをやろうとしてきました。

4

2 に答える 2

2

最初に最新の 7 レコードを取得してから並べ替える必要があります

SELECT *
FROM
(
    SELECT *
    FROM place_chat 
    WHERE whereto = mysql_real_escape_string($where)
    ORDER BY id DESC
    LIMIT 7
) newest_place_chat
ORDER BY id ASC
于 2012-07-14T16:49:43.403 に答える
0

タグ「php」を設定したので、クエリ結果を出力 (この場合は html テーブル) に変換する php スクリプト内からデータベースにクエリを実行すると仮定します。

PHP 内で結果配列をトラバースする順序を簡単に変えることができます。そうすれば、クエリで何も変更する必要はありません。

于 2012-07-14T16:50:41.963 に答える