-1

私は3つのチェックボックスを持っています:

<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 つの列を正常に作成しureadましuwriteusearch。perm[0] から uread に、perm[1] から uwrite にデータを挿入したいのですが、単一の INSERT ステートメントを使用してそれを行う方法がわかりません。

前もって感謝します。

4

2 に答える 2

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);
于 2013-06-21T07:03:53.457 に答える
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します。

于 2013-06-21T05:12:39.003 に答える