0

このmysqlクエリに少し問題があります。

          $sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
      $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);
      $list = mysql_fetch_assoc($result);
      while($list = mysql_fetch_assoc($result)){
          echo $list['counter'];
          echo "<br>";
      }
      mysql_free_result($result);

私が達成したいのは、「カウンター」の順序で5つのエントリをリストすることですが、それをリストするときは?次のように 4 つのエントリしか表示されません :-

5648
4575
1595
35

では、私の 5 番目のエントリはどこですか? そして、なぜそれを投稿していないのですか?5 番目のエントリも値が最大であることに注意してください。

305355

前もって感謝します

4

4 に答える 4

6

結果セットから 1 つのレコードをポップするループの前にフェッチします(つまり305355)。

$list = mysql_fetch_assoc($result); // REMOVE THIS LINE
while($list = mysql_fetch_assoc($result)) {
  // output code
}
于 2013-09-04T11:44:28.393 に答える
1

コードを減らしてmysqli_関数を使用するようにしてください

$sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
$result = mysql_query($sql, $conn);

while($list = mysql_fetch_assoc($result)){
   echo $list['counter']."<br>";
}
于 2013-09-04T11:46:16.887 に答える
0

このコードを試してみてください..

      $sql = "SELECT name FROM videos ORDER BY counter DESC LIMIT 5";
      $result = mysql_query($sql, $conn) or trigger_error("SQL", E_USER_ERROR);

      while($list = mysql_fetch_assoc($result)){
          echo $list['counter'];
          echo "<br>";
      }
      mysql_free_result($result);
于 2013-09-04T11:51:13.813 に答える