MYSQL Order BY“entry”DESC未显示最高

时间:2013-09-04 11:42:36

标签: php mysql

我对这个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个条目也是最高的,值为

305355

提前致谢

4 个答案:

答案 0 :(得分:6)

你在循环之前获取,从结果集中弹出一条记录(即305355)。

$list = mysql_fetch_assoc($result); // REMOVE THIS LINE
while($list = mysql_fetch_assoc($result)) {
  // output code
}

答案 1 :(得分: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>";
}

答案 2 :(得分: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);

答案 3 :(得分:0)

你正在调用mysql_fetch_assoc两次,这就是为什么你的第一行在你第一次调用mysql_fetch_assoc并在第二次调用中剩余show时获取