我已經找到了如何做批量更新,如果值是使用每個記錄相同:PHP/MySQL的:批量更新多個值
UPDATE tbl SET col1='foo1' WHERE id IN (1,2,3)
如果我有一個逗號分隔值的字符串,匹配的IDS,我可以做到這一點更新值的批量更新不同,如
UPDATE tbl SET col1='1,0,1' WHERE id IN (1,2,3)
感謝建議:
編輯:
將數據發送到該查詢的html頁面包含複選框如下:
<input type="checkbox" name="id[]" value="1"><input type="hidden" name="col1[]" value=0>
<input type="checkbox" name="id[]" value="2"><input type="hidden" name="col1[]" value=1>
<input type="checkbox" name="id[]" value="3"><input type="hidden" name="col1[]" value=0>
等多達20個箱子。
在服務器端,使用implode將發佈的數組轉換爲以逗號分隔的字符串,所以我最終得到了兩個字符串,1,0,1代表值,1,2,3代表ids。但用戶可以從此頁面查看多達20個框。也許我必須以某種方式操作數組。請注意,在實際示例中,ID不是1,2,3,但可能類似於221,433,512,600等,具體取決於用戶檢查的內容。
是否需要迭代a new當你得到每個元素的情況。元素/ id的數量未知,因爲它來自用戶檢查框的頁面,可以從0到20進行檢查。請參閱上面的編輯以查詢數據是如何到達的 – user1260310