樓主貼出的代碼是主要代碼不是完整代碼,以下是對(duì)你貼出代碼的修改,接收數(shù)組并批量更新
創(chuàng)新互聯(lián)公司長(zhǎng)期為數(shù)千家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為武漢企業(yè)提供專(zhuān)業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè),武漢網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
接收數(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ì)更新全部的。
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));