樓主貼出的代碼是主要代碼不是完整代碼,以下是對(duì)你貼出代碼的修改,接收數(shù)組并批量更新
成都創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開(kāi)發(fā)的融合,累計(jì)客戶上千家,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站制作和互聯(lián)網(wǎng)程序開(kāi)發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!
接收數(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!";
?
可以同時(shí)更新內(nèi)容相同的記錄,比如id=1、2、3的記錄的狀態(tài)都改為0;那么可以使用$db-where("id in(1,2,3)")-save(array('status'=0));
第一種就是根據(jù)事務(wù)來(lái)實(shí)現(xiàn)這個(gè)功能,多條更新用事務(wù)來(lái)實(shí)現(xiàn)和回滾
第二種 就是循環(huán)更新了,這個(gè)不需要數(shù)據(jù)一致性,即其中一條語(yǔ)句更新失敗 不影響其他數(shù)據(jù),建議還是用事務(wù)
更新是要更新兩次 但是你可以用循環(huán)批量更新的!
對(duì)數(shù)據(jù)庫(kù)的操作是每次一條 或者 你可以寫事務(wù)的,這樣的話就比較麻煩了
就用循環(huán)吧
首先把你的一個(gè)tr/tr中的四個(gè)內(nèi)容都用相應(yīng)的數(shù)組名字name[]作名字
然后 提交后 得出來(lái)數(shù)組長(zhǎng)度 然后循環(huán)相應(yīng)的次數(shù)
執(zhí)行SQL操作 就OK
如果具體的 問(wèn)題 可以 留言