1

編集:

したがって、複数のチェックボックスがあります。私の目標は、チェックされている場合は MySQL にチェックボックスの値を挿入し、チェックされていない場合は MySQL からチェックボックスの値を削除することです。値を削除する以外はすべて正常に機能します。PHP は、どのチェックボックスが「チェックされていない」かを知りません。何か案が?

これまでのところ、私はこれを持っています:

if(isset($_POST['values']))
{
    foreach($_POST['values'] as $checked)
    {
        $query5 = ("
        INSERT INTO ecust_user_contract (fk_contract, fk_cust_user)
        VALUES ('".$checked."','".$username_u."')
        ");
        $result5 = mysqli_query($conn,$query5); 
    }
}
if(!isset($_POST['values']))
{
    foreach($_POST['values'] as $unchecked)
    {
        $query5 = ("
        INSERT INTO ecust_user_contract (fk_contract, fk_cust_user)
        VALUES ('".$unchecked."','".$username_u."')
        ");
        $result5 = mysqli_query($conn,$query5);
    }
}
4

6 に答える 6

2

これは私のチェックボックスです:

<input type='checkbox' name='Event' value='CB1' />

フォームを処理する場所で、これを読むには次のようにします。

$event = $_POST['Event'];

これはチェックボックスの値を取得します:

echo $event;

ただし、その設定を確認してください。そうしないと、null 値が返されます。

それらのいくつかがある場合は、これを行うことができます:

<input type='checkbox' name='Event[]' value='CB1' />
<input type='checkbox' name='Event[]' value='CB2' />

$event = array_values($_POST['Event']);

それぞれの値を取得するには、これを for ループに入れます。

for ($val = 0; $val < count($event); $val++)
        {
            //do something
            echo $event[$val];
        }
于 2013-10-23T11:56:57.327 に答える
1

メソッドをフォーム送信に使用したと仮定すると、次POSTのようなことができます。

html :

<input type="checkbox" name="values[]" value="val1">
<input type="checkbox" name="values[]" value="val2">
<input type="checkbox" name="values[]" value="val3">

php :

if(isset($_POST['values'])) {
 foreach($_POST['values'] as $checked){
 mysqli_query("insert into tablename(value) values($checked)");
  }
 }else{
 // use Delete query
  }
于 2013-10-23T11:59:52.217 に答える
0

チェックボックスの HTML コードが次のようになっているとします。

<input type="checkbox" name="abc" value="yes" />

次にphp側で:

<?php
    if( isset( $_POST['abc'] ) ) {
        --Connect to your database--
        --write your query for Insertion--
        }
        else {
        --Connect to your database--
        --write your query for Deletion--
        }
    ?>
于 2013-10-23T12:05:52.710 に答える
0

私のために働き、チェック値とチェック解除値の両方をmysqlに保存します

HTML:

<form method="post" action="jawab25.php">
<input type="hidden" name="check_lista[]" value="<?php echo $r["id"]?>">
<input type="checkbox" name="check_listb[]" value="<?php echo $r["id"]?>">
<input value="Check" type="Submit">

ジョーアブ25.php :

    foreach($_POST['check_lista'] as $itema){
        $string="update trans set ck='N' where id='$itema'";
        $tampil=mysql_query($string);
    }

    foreach($_POST['check_listb'] as $itemb){
        $string="update trans set ck='Y' where id='$itemb'";
        $tampil=mysql_query($string);
    }
于 2014-07-01T15:21:01.933 に答える
0

php のサーバー側コードに html フォームを送信していると思います。HTMLページが次のようになっている場合:

<input type="checkbox" name="test" value="value1">

フォームを送信したら、次の方法で確認できます。

isset($_POST['test'])
or
if ($_POST['test'] == 'value1')
于 2013-10-23T11:54:33.140 に答える