我有一個數據庫,其中包含一個ID和一個值的行。通過值排序php mysql
隨着我插入記錄,我隨機在數字1和100之間插入這些值,因此ID有一個隨機值。我使用while循環遍歷記錄並將其打印到屏幕上。但是,我想要的方式是,如果while循環中的行的當前值小於下一個值,那麼跳出循環。基本上我所要求的是如何在while循環中處理當前數據庫時引用數據庫的下一個記錄,只需檢查數據庫中的值。
我有一個數據庫,其中包含一個ID和一個值的行。通過值排序php mysql
隨着我插入記錄,我隨機在數字1和100之間插入這些值,因此ID有一個隨機值。我使用while循環遍歷記錄並將其打印到屏幕上。但是,我想要的方式是,如果while循環中的行的當前值小於下一個值,那麼跳出循環。基本上我所要求的是如何在while循環中處理當前數據庫時引用數據庫的下一個記錄,只需檢查數據庫中的值。
$lastRecord = Array();
foreach($records as $thisRecord){
if($lastRecord['value'] < $thisRecord['value']){
// do what you need to do here
}
$lastRecord = $thisRecord;
}
這樣,你永遠保持存儲
於前值輪做它的其他方式。基於前一個元素(您可以簡單地存儲在某個地方),根據下一個元素,而不是根據下一個元素分解,只需在下一個元素上檢查。我猜這個循環實際上遍歷了元素並做了一些事情;你可以在做任何事情之前檢查前面的/當前的元素第一個,沒有人會注意到你事實上加載了下一個元素。
試試這個:
$previousRow = mysql_fetch_assoc($result);
$previousRow['ID'] = -1;
while($currentRow = mysql_fetch_assoc($result))
{
if($currentRow['ID'] > $previousRow['ID'])
break;
echo $previousRow['Value'];
$previousRow = $currentRow;
}
我寧願用'0'或'-1'初始化'$ previousRow ['ID']'。 – Gumbo 2010-11-22 11:44:14
@Gumbo,好點。 – shamittomar 2010-11-22 12:01:13
我的意思是:不要獲取第一行,而只是初始化具有某個值的'$ previousRow ['ID']'。 – Gumbo 2010-11-22 12:58:06
究竟什麼是你的問題? – 2010-11-22 11:37:03