1

最初に簡単なゲストブックを作成しましたが、最後のコメントをサイトの最初の場所に表示したいと思います。私の計画は、データベースの行を日付またはIDの降順で並べ替えることでした。コードスニペットは次のとおりです。

mysql_query("SELECT * FROM `guestbook` ORDER BY `Date` DESC") or die("Mysql error: " . mysql_error());

このコードはエラーを引き起こしませんが、コメントは最初に表示されます。phpMyAdminからもコードをコピーしましたが、結果は同じです。IDのタイプはもちろんINTとauto_increment。であり、日付のタイプはVARCHAR(日付と時刻を1つの変数に格納しました)です。

助けてください。

4

3 に答える 3

1

DATETIME完全に使用可能なフィールドがあること、またはTIMESTAMP書式設定された日付を返すフィールドがあることをご存知でしょうか?

それはさておき、日付にビッグエンディアン以外の形式を使用していることがほぼ確実に原因です。

代わりに試してみてくださいORDER BY id DESC- それは一意の (できればプライマリ) キーであるため、はるかに高速です。

于 2012-05-30T02:49:16.867 に答える
1

Date列を列タイプに変更すると、DATETIME正しくソートされます。

並べ替えはVARCHAR、データを保存した形式によって異なります。

于 2012-05-30T02:50:10.850 に答える
1

これを試してください: SELECT * FROM guestbookORDER BY IDDESC

日付の代わりに、日付の順序を正しくしたい場合は、日付のデータ型が日時であることを確認してください。

よろしくお願いします

于 2012-05-30T02:50:12.497 に答える