2013-03-17 238 views
-2

我想知道爲什麼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是「」 - 空,並且循環不覆蓋此值。

+0

你會在循環中增加$ kid嗎? – deadlock 2013-03-17 12:41:18

+0

什麼發生在列表($ kid)? – ethrbunny 2013-03-17 12:43:46

回答

3
$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

0

while循環結束時的條件首先是falsy(0)。這意味着,$kid將始終具有一個值,該值在循環後評估爲false。

東西沿着以下行應該工作:

while($row = mysqli_fetch_row($result)) { 
    $kid = $row['kid']; 
} 

雖然我不知道,如果你正在爲您解決問題的正確方法。你想達到什麼目的?我認爲只從數據庫中選擇一行會更有意義。

相關問題