2013-06-21 17 views
-1

插入多個複選框值我有3個複選框:如何選擇MySQL的列使用用於循環

<input name="perm[0]" type="checkbox" value="1" /> 
<input name="perm[1]" type="checkbox" value="1" /> 
<input name="perm[2]" type="checkbox" value="1" /> 

林使用for循環通過陣列進行迭代如下:

for($i=0; $i < 3; $i++) 
{ 
    $perm[$i] = isset($_POST[$perm][$i]) ? 1 : 0; 
} 

此前我成功創建了3列,分別爲ureaduwriteusearch。 我想從perm [0]插入uread,perm [1]到uwrite等數據,我不知道如何使用單個INSERT語句來做到這一點。

在此先感謝。

+0

我不明白你的問題,你是什麼意思「在每次迭代中選擇相應的表列來插入值?」 – Revent

+0

@Revent我認爲OP想用不同的列生成動態查詢,具體取決於所選的複選框。 – BlitZ

+0

如果只有三個,那麼你爲什麼不在你的標記中使用直接名字而不是'perm []'? – BlitZ

回答

1
$uread = 0;$uwrite = 0; $usearch = 0; 

if(isset($_POST[perm[0]])==1) 
    $uread = 1; 
if(isset($_POST[perm[1]])==1) 
    $uwrite = 1; 
if(isset($_POST[perm[2]])==1) 
    $usearch = 1; 


Insert into `your-tbl-name`(uname,uwrite,usearch) values ($uread,$write,$usearch); 
0

從你提供的簡要信息,我希望這可以根據您的要求滿足您的要求

 $uread = 0;$uwrite = 0; $usearch = 0; // User have not checked any thing and 0=unchecked,1=checked 

    if(isset($_POST[perm[0]])) 
     $uread = 1; 
    if(isset($_POST[perm[1]])) 
     $uwrite = 1; 
    if(isset($_POST[perm[2]])) 
     $usearch = 1; 

//NOW insert statement  
Insert into `your-tbl-name`(uname,uwrite,usearch) values ($uread,$write,$usearch); 

修改insert statement