0

誰かがこの問題を回避する方法についてアドバイスできますか?

SHOUTBOX テーブルから id で上位 50 行を呼び出したいのですが、昇順で div に表示します (一番下の最新行 (最新))。

例えば;

最新の行は id 200 です。行 150 ~ 200 を呼び出して、div のように表示します。

150、151、152、. . など。. 200 <<< DIV の最終行

私のPHPコードは現在次のようになっています。

$recall=mysql_query("SELECT *, DATE_FORMAT(timepost,'%H:%i:%s') as timepost FROM shoutbox ORDER BY id DESC LIMIT 50");

    while($comm=mysql_fetch_object($recall)){
      if ($comm->poster == "System"){
      print"<font color=#3399FF>$comm->timepost-<strong><a href='profile.php?viewuser=$comm->poster' target='iframecontent'><font color=#3399FF>$comm->poster</font></a></strong>: </font>";
    echo replace($comm->post);
    echo"<br>";
      }

しかし、それは私のデータをdivのように返します;

200、199、198、. . など。. 150 <<< DIV の最終行

誰でも助けてください。

注: 現在、すべてのページを処理し、すべての mySQL クエリを PDO に変換しています。

4

5 に答える 5

1

わかりました、これを試してください:

$recall=mysql_query("SELECT *, DATE_FORMAT(timepost,'%H:%i:%s') as timepost FROM (SELECT * FROM shoutbox ORDER BY id DESC LIMIT 50) ORDER BY id ASC");
于 2013-03-30T15:36:43.483 に答える
1

ORDER BY id DESCで置き換えるORDER BY id

于 2013-03-30T15:30:38.510 に答える
1

今後の参考のために、PDO に変換する場合、クエリを変更せずにこのページを逆方向に読むための正確な答えがあります。http://www.php.net/manual/en/pdostatement.fetch.php

今のところ、これは機能します:

SELECT *, DATE_FORMAT(timepost,'%H:%i:%s') AS timepost FROM (SELECT * FROM shoutbox ORDER BY id DESC LIMIT 50) AS foo ORDER BY id ASC
于 2013-03-30T15:32:14.673 に答える
0

注文コマンドが間違っています。ASC代わりに入力する必要DESCがあります。正しいクエリは次のとおりです。

$recall=mysql_query("SELECT *, DATE_FORMAT(timepost,'%H:%i:%s') as timepost FROM shoutbox ORDER BY id ASC LIMIT 50");

    while($comm=mysql_fetch_object($recall)){
      if ($comm->poster == "System"){
      print"<font color=#3399FF>$comm->timepost-<strong><a href='profile.php?viewuser=$comm->poster' target='iframecontent'><font color=#3399FF>$comm->poster</font></a></strong>: </font>";
    echo replace($comm->post);
    echo"<br>";
      }
于 2013-03-30T15:30:59.967 に答える
0

クエリを次のように変更します。

$recall = mysql_query("SELECT *, DATE_FORMAT(timepost,'%H:%i:%s') as timepost 
   FROM shoutbox ORDER BY id ASC LIMIT 50");
于 2013-03-30T15:31:21.507 に答える