フォームからMySQL挿入用の複数のチェックボックスを持つフィールドセットがあります。異なる「名前」属性を持つチェックボックスの数をカウントするにはどうすればよいですか?
<fieldset id="my_checkboxes">
<legend>My Checkboxes (Select at least 2)</legend>
<label for="checkbox1">
<input type="checkbox" id="checkbox1" value="yes" name="the_checkbox" />
CheckBox #1
</label>
<label for="checkbox2">
<input type="checkbox" id="checkbox2" value="yes" name="the_checkbox2" />
CheckBox #2
</label>
</fieldset>
私は、各チェックボックスは、データベース内のそれ自身の列にデータを挿入するためのユニークなNAME属性を持つ各チェックボックスを持ってできるようにする必要があります。 (それ以外の場合は、それぞれの名前としてthe_checkbox[]
を使用します)。
私の問題は、フォームを送信するために少なくとも2つのチェックボックスを選択させる必要があるということです。私はそれぞれに別々の名前を持っているので、それは名前でカウントして、私はもう次のコードを使用することはできません。
$checkboxcount = count($_POST['the_checkbox']);
if($checkboxcount < 1)
{
$errors[] = $checkboxcount;
}
MY SQLステートメントは次のようになります。
$sql = "INSERT INTO $db_table(the_checkbox,the_checkbox2) values
(
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox']))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['the_checkbox2']))."'
)";
あなたはどちらかに私のためにお勧めしますどのようなA.名前を別にしてもチェックボックスを数えるか、またはB.同じ名前を保持しますが、何らかの形でデータをMySQLに別々の列名として挿入しますか?
SQL文はどのように見えますか? –
質問をSQL文で編集しました。 – Joe
まず、要件に合ったマイケルの答えを受け入れるべきです。次に、あなたのコードのようにREQUESTを使うべきではありません。むしろ、チェックボックスがチェックされている場合にのみ、値を2番目の変数に入れるべきです。それ以外の場合は、一部のサーバーで問題が発生します。これは、CHECKEDボックスのみがフォームにポストされているためです。 +1マイケル – itsols