給定返回20行的SELECT查詢的$結果,完成評論在循環中建議的最簡單方法是什麼?獲取mysql_fetch_assoc循環的數據指針當前位置的最簡單方法是什麼?
while ($row = mysql_fetch_assoc($result))
{
// echo "success" when i get to the 9th row
}
給定返回20行的SELECT查詢的$結果,完成評論在循環中建議的最簡單方法是什麼?獲取mysql_fetch_assoc循環的數據指針當前位置的最簡單方法是什麼?
while ($row = mysql_fetch_assoc($result))
{
// echo "success" when i get to the 9th row
}
您可以使用mysql_data_seek()
檢查第9行存在:
if(mysql_data_seek($result, 8) !== false) {
// success, internal pointer is now at 9
// still need to call mysql_fetch to get the row
}
但你不能在內部指針得到你自己的數。使用for循環保持它有點整潔:
for($i = 0; $row = mysql_fetch_assoc($result); $i++) {
if($i == 8) // success
}
$i = 0; // Or 1 if need be
while ($row = mysql_fetch_assoc($result))
{
// echo "success" when i get to the 9th row
if($i == 9) {
echo "success";
}
$i++;
}
或
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($row[8] != '') {
echo "success";
}
}
或
while ($row = mysql_fetch_assoc($result))
{
if($row['column_name_of_the_ninth_field'] != '') {
echo "success";
}
}
在其他的答案已經詳細介紹的方法都是有效的方式來做到這一點。
如果你真正希望做的是移動內部指針到第9個結果,而不必經過一個循環,那麼這就是你可能會尋找:
if (mysql_data_seek ($result,9)) echo "success";
謝謝。我知道$ i ++是做這件事的一種方式,我只是希望有一種更乾淨的方式。 – Matthew 2009-10-14 00:03:03