我对这个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
提前致谢
答案 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时获取