web-dev-qa-db-ja.com

PHPデータベース値に基づいてチェックするように設定されたチェックボックス

私は人々が情報を入力し、後で戻って特定の部分を編集し、基本的に個人情報を入力し、追加情報を知りたいかどうかをチェックするシステムを持っています。ユーザーは4つのうちのいずれかを選択し、データベースの4つのフィールドが「いいえ」に設定されている場合、選択すると「はい」に変わります。これらの4つのチェックボックスのいずれかに戻って選択解除または再選択できるようにしたいので、値がyesの場合はチェックボックスを選択し、そうでない場合は選択解除します。

フィールドはtag_1、tag_2、tag_3、tag_4です

Anyhelpは大歓迎

ある種のifステートメントを収集しますが、チェックボックスにそれを含める方法がわかりません。

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" />

イアン

11
snookian

チェックボックスフィールドの情報をデータベースから抽出します。次に、上の例の行を次のように変更します(このコードは、ユーザーの情報をdbvalueという連想配列に取得し、DBフィールド名がHTMLフォームの名前と一致することを前提としています)

<input type="checkbox" name="tag_1" id="tag_1" value="yes" <?php echo ($dbvalue['tag_1']==1 ? 'checked' : '');?>>

あなたがあなたのためにすべてをするコードを探しているなら、あなたは間違った場所に来ています。

46
DaveyBoy

入力タグ内にこのコードを追加します

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?>
7
Damien

この最も簡単な方法は、「c​​hecked属性を追加することです。

<label for="tag_1">Tag 1</label>
<input type="checkbox" name="tag_1" id="tag_1" value="yes" 
    <?php if($tag_1_saved_value === 'yes') echo 'checked="checked"';?> />
2
Dan

つかいます checked="checked"属性をチェックボックスにチェックしたい場合。

1
NicoDeug

データベース値を変数に読み込み、次のように変数を設定できます

$app_container->assign('checked_flag', $db_data=='0'  ? '' : 'checked');

また、htmlでは、checked_flag変数を次のように使用できます。

<input type="checkbox" id="chk_test" name="chk_test" value="1" {checked_flag}>
0