動的フィールドを持つ複数のチェックボックスからテーブルを更新したいと考えています。
以下のコードでチェックボックスを作成しました。
<div class="form-horizontal" style="margin-right: 35px; margin-left: 0px;">
<div class="form-group">
<? $i = 0;
foreach ($row_specifics as $title => $value) { ?>
<label class="control-label col-lg-2"><?= $title ?></label>
<div class="col-lg-1" style="padding-right: 5px; padding-left: 0px;">
<div class="make-switch switch-small" data-on="success" data-off="danger">
<input id="<?= $title ?>" name="<?= $title ?>" type="checkbox" <?= $value=='on' ? 'checked' : ''?> />
</div>
</div>
<? $i++;
if($i % 4 == 0) { ?>
</div>
<div class="form-group">
<?}
}?>
</div>
だから私はそれを望むようにこれを手に入れます。
フォームを送信すると、テーブルからすべてのフィールドを取得する関数を実行し、specifics
フォームからの変更でテーブルを更新しようとします (チェックボックス)
foreach ($row_specifics as $title => $value) {
$valueToInsert = ( isset($_REQUEST[$title]) ) ? $value : null;
if( $valueToInsert ) {
$query = mysql_query("UPDATE `specifics` SET $title = '{$valueToInsert}' WHERE `car_id`= $id");
}
}
- フォームを変更して
POST
テストの変更を送信しても、何も起こりません。 - フォームを変更して
GET
テストの変更を送信するとon
、URL クエリの値のみが取得されます。
問題を確認するために$title
と$valueToInsert
内部をエコーしようとしましたが ( )、値が 3 つしか得られません [ ]。if
POST
ABS on / ESP on / Immobilizer on
REQUEST:誰かがチェックボックスのオプションを変更したときに、テーブルを正しく更新したい。このフォームとチェックボックスは管理ページの編集パネルにあり、ユーザーはテーブル内のレコードの仕様を編集します。