如何从while循环中的最后一行获取值?
问题描述:
我想知道为什么while循环不会覆盖$ kid的值?如何从while循环中的最后一行获取值?
$lastrow = //another mysql query to get the id of last row.
$kid = 0;
$result = mysql_query("SELECT kid.......
while(list($kid) = mysql_fetch_row($result)) {
...
}
echo $kid;
if ($lastrow != $kid) echo "<a href="/show-more.php">show more results</a>";
由于某种原因后while循环$ kid是“” - 空,并且循环不覆盖此值。
答
$kid = 0;
$result = mysql_query("SELECT kid.......
while(list($temp_kid) = mysql_fetch_row($result)) {
$kid = $temp_kid;
}
echo $kid;
尝试......
+0
不知道为什么这是downvoted ...这显然是一个有效的解决方案(虽然它可以使用一些额外的解释) – knittl 2013-03-17 12:51:33
+0
谢谢,杰伊,它的工作原理。 – user1821484 2013-03-17 13:15:45
答
while循环结束时的条件首先是falsy(0)。这意味着,$kid
将始终具有一个值,该值在循环后评估为false。
东西沿着以下行应该工作:
while($row = mysqli_fetch_row($result)) {
$kid = $row['kid'];
}
虽然我不知道,如果你正在为您解决问题的正确方法。你想达到什么目的?我认为只从数据库中选择一行会更有意义。
你会在循环中增加$ kid吗? – deadlock 2013-03-17 12:41:18
什么发生在列表($ kid)? – ethrbunny 2013-03-17 12:43:46