如何將我的行輸出到複選框組中並根據所檢查項目的ID將它們插入到數據庫中?複選框組與MYSQL的多重插入可實現?
因此,用戶檢查1,2,3,4,5,我將ID爲1,2,3,4,5插入到myTable中。
我永遠只處理了1 x $ MYVARIABLE INSERTS到目前爲止..
如何將我的行輸出到複選框組中並根據所檢查項目的ID將它們插入到數據庫中?複選框組與MYSQL的多重插入可實現?
因此,用戶檢查1,2,3,4,5,我將ID爲1,2,3,4,5插入到myTable中。
我永遠只處理了1 x $ MYVARIABLE INSERTS到目前爲止..
MySQL有一個擴展插入語句。假設您的複選框的值存儲在一個標準化的表,你會使用類似
INSERT INTO yourtable (checkboxID) VALUES ($id1), ($id2), ($id3), etc...
這將產生一個新的紀錄yourtable
您指定的每個值。需要注意的是,你可以以同樣的方式插入值的集合:
INSERT .... VALUES ($x, $y), ($a, $b), ($c, $d) etc...
你必須建立價值觀的自己,列表,他們周圍的括號是必需的伸出的插入工作。你不能簡單地做INSERT .... implode($_POST['checkboxes']
類型的事情。
現在,如果您想在ID中的單個字段/記錄中插入逗號分隔的ID列表,那麼我強烈建議您不要。規範你的數據庫併爲這些值創建一個子表。
該ID將被插入到一個鏈接表中,該鏈接表只保存ID。它基本上是屬於Foo的ID列表。所以他們選擇Foo,並選擇添加到Foo的值。這些值的ID存儲在一個鏈接表中,其中插入了Foo ID ...所以我想爲每個選定的值添加Foo的ID。 – SMacFadyen
將您的複選框命名爲數組,然後檢查每個索引是否被選中時的提交。
例如:
<input type='checkbox' name=content[] value='1'>1
<input type='checkbox' name=content[] value='2'>2
<input type='checkbox' name=content[] value='3'>3
PHP:
foreach($_POST['content'] as $record)
{
// insert query
}
'$ record'將一直設置,不需要使用'isset()'來檢查。 – hakre
是的,這是真的。我總是謹慎的檢查條件:p –
但是不會插入12345?我需要單獨的行 – SMacFadyen
你能澄清你的問題?如果用戶沒有選中3,爲什麼還要插入3? – itsmeee
是的,它是可以實現的。 – Mob