樓主貼出的代碼是主要代碼不是完整代碼,以下是對(duì)你貼出代碼的修改,接收數(shù)組并批量更新
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了環(huán)翠免費(fèi)建站歡迎大家使用!
接收數(shù)據(jù)格式形如:
array(
0=array(
'id' = 1,
'title'= '標(biāo)題1'
'url'= '...'
),
1=array(
'id' = 1,
'title'= '標(biāo)題1'
'url'= '...'
),
)
注意在原來(lái)的基礎(chǔ)上加了更新條件id,不加的話(huà)是會(huì)更新全部的。
A頁(yè)面代碼:
?php
$exec="select * from focusimg";
$result = mysql_query($exec,$link);
$i=0;
while($pt=mysql_fetch_array($result)){
?
tr onmouseover="this.className='admTr'" onmouseout="this.className=''"
td width="17%" align="right"標(biāo)題?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"http://td
tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td
td width="17%" align="right"鏈接?php echo $pt['id']; ?:/td
tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td
/tr
?php
$i++;
};
?
B頁(yè)面代碼:
?php
include 'conn.php';
$focusimg=$_POST['focusimg'];
foreach($focusimg as $k=$v) {
$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";
mysql_query($exec, $link);
}
mysql_close($link);
echo "edit OK!";
?
第一種就是根據(jù)事務(wù)來(lái)實(shí)現(xiàn)這個(gè)功能,多條更新用事務(wù)來(lái)實(shí)現(xiàn)和回滾
第二種 就是循環(huán)更新了,這個(gè)不需要數(shù)據(jù)一致性,即其中一條語(yǔ)句更新失敗 不影響其他數(shù)據(jù),建議還是用事務(wù)
可以同時(shí)更新內(nèi)容相同的記錄,比如id=1、2、3的記錄的狀態(tài)都改為0;那么可以使用$db-where("id in(1,2,3)")-save(array('status'=0));