我有一個照片庫,並希望通過表單輸入一次更新多個標題。我試圖研究這一點,但我認爲我在頭腦中。這是我迄今爲止,但它不工作..如何使用foreach循環更新SQL數據庫?
數據保存在一個名爲「畫廊」的SQL表中。一個例子行可能看起來像:
gallery_id(key) = some number
product_id = 500
photo = photo.jpg
caption = 'look at this picture'
我的表單輸入都是這樣產生的:
$ SQL =請求mysql_query( 「SELECT * FROM畫廊,的product_id = 500」);
while($row = mysql_fetch_array($sql)) { $photo=$row['photo']; $caption=$row['caption']; echo '<img src="$photo"/>'; echo '<input name="cap['.$caption.']" id="cap['.$caption.']" value="'.$caption.'" />'; }
所以一旦我提出我開始像這樣訪問我輸入的形式,但我撞牆..
if(isset($_POST['cap']) && is_array($_POST['cap'])) {
foreach($_POST['cap'] as $cap) {
mysql_query("UPDATE gallery
SET caption=$caption
WHERE ???????");
}
}
我不知道怎麼跟數據庫放在哪裏這些輸入和據我所知,不能在foreach循環中傳遞多個變量。
你neeed通過原標題的id,太。所以你的陳述將沿着'UPDATE gallery SET caption = $ caption WHERE gallery_id = $ gallery_id'(我希望你正在顯示縮寫代碼,否則你打開自己的SQL注入)。 – 2013-02-25 02:16:13
請注意,您不應該再使用'mysql_ *'函數。整個範圍是[棄用](http://www.php.net/manual/en/function.mysql-query.php)。它在幾年內沒有更新或維護,只是爲了向後兼容而存在。你應該使用'mysqli_ *'或'PDO'方法。 – 2013-02-25 02:22:22