一次叫出多筆資料,然後在同一個網頁中「逐一」「分別」做不同的處理,最後「同時」對資料庫 update or insert 。每一筆資料所收到的update 、insert數據並不相同! ============================
處理要點在於 _____ loop + array
1.從資料庫叫出資料:
db_query進行looping的同時,把相關欄位需要update的資料通通納入array.
依照各人需求,這些資料可以用text、checkbox、或者hidden等各種型態呈現。當然,checkbox是最常見的type.
例如,郵件處理網頁就大量使用checkbox.
2.修改後的資料回存作業
要點在count(array) + loop + db_update:
根據count的結果進行迴旋,把db_update放進去,讓loop去完成所有資料的update回存作業。
範例如下:
================================================
####1.update.php: 以loop+array取出資料以便update……..
<form action="activate.php">
#在這裡呼叫資料庫
$query="select * from $userstable where……………….
#進入loop逐一取出資料
$i=0;
while ($i < $num):
……………
$id=mysql_result($result,$i,"id");
………………
……………………….
#以適當的type取出必須更新的欄位,構成array ……….
echo "<td align……………….
echo "<td align=middle><input type=text size=3 name=\"Cname[]\" value=\"$name\"></td></tr>";
echo "<input type=hidden name=\"Cid[]\" value=\"$id\">";
$i++;
endwhile;
======================================================
####2.activate.php:資料更新後,透過loop+array完成回存……………….
…….
for ($i = 0; $i < count($Cname); $i++) {
$name = $Cname[$i];
$id= $Cid[$i];
$query = "update $userstable set name=$name where id=$id";
………….