チェックボックスとラジオボタンのはい/いいえの回答などをフォームから収集してmysqlに保存する基本的なコードがいくつかありますが、一部のmysql送信は機能します(つまり、SQL列に「はい」または「いいえ」を入力します)が、一部はSQL列に次のように表示されます「配列」 - これはコードのサンプルです。$repeat は 'array' として表示され、$inter は yes または no として表示されます。mysql の列は構造が同じで、フォーム HTML は両方で同じ構文です。$_POST 配列はコンマで区切られています。これは、値もメールで送信し、メールに回答が正しく表示されるためです。これは奇妙なことです。
<?php
$repeat = "";
foreach ($_POST['repeat'] as $key => $value) {
$repeat.= ",$value ";
}
$repeat = substr($repeat,1);
$inter = "";
foreach ($_POST['intermitant'] as $key => $value) {
$inter.= ",$value ";
}
$inter = substr($inter,1);
//other posts all looped though etc
//then the sql - log on etc
$sql="INSERT INTO faults (repeat_visit,intermitant) VALUES ('$repeat','$inter')";
これはHTMLです-私が見ることができることについて奇妙なことは何もありません、私はあなたが上で説明したことを理解しています-しかし、なぜ一方が機能し、もう一方が同じコードで機能しないのですか、同じメソッドがチェックボックスに適用され、他の人は'配列を配置します' SQL で
<label>Repeat Visit:</label>
<input type="radio" name="repeat[]" value="Yes" />Yes
<input type="radio" name="repeat[]" value="No" />No
<label>Intermitant Fault:</label>
<input type="radio" name="intermitant[]" value="Yes" />Yes
<input type="radio" name="intermitant[]" value="No" />No