2016-08-02 7 views
0

ようこそ、 フォームに問題があり、mysqlにデータを挿入しました。 私のフォームは、入力があります。チェックボックスをオンにすると、フォームデータをmysqlに挿入する方法は?

<inpu type="checkbox" name="check"> 

をし、これは、MySQLには、このフォームデータを挿入するための私のコードです。

if(isset($_POST['check'])) { //things to insert } 

と私はすべてのチェックボックスを選択すると、そのまた、すべてのレコード(全データ)を挿入し、すべてのレコードを挿入する1つのチェックボックスコードを選択します。しかし、私がチェックボックスを選択していないとき、挿入は空(良い)です。 このチェックボックスはどうなりますか?

+0

私の英語のために申し訳ありません:-) – MB83

+0

あなたはおそらくより多くのコードを提供するべきです、私たちは複数のレコードを見ることができる小さな例とあなたのPHPスクリプトがそれらをどのように扱うかを示します。 – Jakumi

答えて

0

チェックボックスは、チェックされている場合にのみPOSTによって送信されます。チェックされていない場合、送信されません。もしチェックされていれば値 'on'を、チェックされていなければ値 'off'を期待するかもしれませんが、チェックされていれば 'on'、それ以外の場合は 'on'だけ受け取ります。したがって、チェックボックスを受け取った場合(あなたの投稿セット1のisset($ _ POST ['checkbox_name'] ')変数でチェックしてください。真であれば、' Y 'なので、データベースのブール値に使用します。 ISSET()、同じような状況が無効になっINPUT要素である偽、0を設定し、または 'N' これらの値をtサーバーに送信されませんあなたのprocessor.phpファイルで

<form action"processor.php" method="post"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input name="data[]"><input type="checkbox" name="check[]"> 
    <input type="submit" value="Save"> 
</form> 

:。。。

$data=$_POST['data']; //array received 
$checks=$_POST['check']; //array received (checked only) 
foreach($checks as $key=>$check) //loop through all checks that are sent 
{ 
    $value=$data[$key]; //do whatever you want with corresponding data 
} 
+0

私の例でphp /の入力値を変更する方法を私に書くことができますか? – MB83

+0

チェックボックスを使って達成したいことは明確ではありません。挿入したいデータについては、チェックボックスはブール値 'on'または 'off'のみを持ちます。どのデータを保存したいですか? – sbrbot

+0

mysqlにレコード(id、event_id、name、start_time)を挿入します。それでおしまい。入力チェックボックスで選択されたレコードのみが表示されます。 – MB83

関連する問題