如果我理解正確,您想要顯示先前顯示的所有橫幅少於100次?
如果這是正確的,你可以添加到您的WHERE
條款:
$bannerResult = mysql_query("SELECT * FROM table WHERE page='cat' WHERE `COUNT` < 100");
要更新所有這些,您可以運行一個查詢同時顯示每個人的旗幟,或「記錄」每個id
並在結束時運行一個查詢,如:
$ids = array();
foreach($bannerGroups[0] as $ban) {
$ids[] = $ban['ID']; // record the ID; don't know how Banner
// class works, assuming uses indexes; maybe ID() method?
echo '<li class="right1">'.$ban->html().'</li>';
}
...
mysql_query('UPDATE table SET `COUNT` = `COUNT` + 1 WHERE ID IN (' . join(',', $ids) . ')');
UPDATE:
基於關閉評論的,你Banner
類沒有檢索單個橫幅的方法ID
。在這種情況下,你可以當你建立你的橫幅陣列記錄ID
值:
$ids = array();
while($row=mysql_fetch_assoc($bannerResult)) {
$banners[] = new Banner($row);
$ids[] = $row['ID']; // record the ID
}
// update the `count` on each record:
mysql_query('UPDATE table SET `COUNT` = `COUNT` + 1 WHERE ID IN (' . join(',', $ids) . ')');
這就是有趣的你總犯同樣的錯誤,因爲我的2倍'WHERE' – Peter
我用你的方法,但我得到這個錯誤。預期;你的'$ ban'變量來自$ bannerGroups,它來自'$ banners' - 它的類型是'Banner';我不知道你的班級是如何工作的,但我認爲你可以獲得每個單獨標題的'ID'值。也許你在Banner中有一個名爲'ID()'或者'getValue('ID')的函數? – mypoint
@ user1531524呀不能使用類型爲旗幟的對象作爲數組另我沒把更新: – newfurniturey