Флажок PHP установлен для проверки на основе значения базы данных


У меня есть система, в которой люди заполняют свою информацию, а позже могут вернуться и отредактировать определенные части, в основном вводят личную информацию и проверяют, хотят ли они знать дополнительную информацию, эти биты дополнительной информации являются флажками, 4 из них. пользователь выберет до любого из 4, и в базе данных есть 4 поля, для которых установлено значение "нет", если они выберут одно, оно изменится на "да". Я хочу, чтобы они могли вернуться и снять или повторно установить любой из этих 4 флажков, поэтому я хочу, чтобы флажки были выбрано, если значения "да", и не выбрано, если значение "нет".

Поля: tag_1, tag_2, tag_3, tag_4

Любая помощь с благодарностью

Я собираю какое-то выражение if, но не уверен, как включить его в флажок.

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

Ян

Author: snookian, 2013-04-26

5 answers

Извлеките информацию из базы данных для полей флажков. Затем измените приведенную выше строку примера на: (этот код предполагает, что вы извлекли информацию для пользователя в ассоциативный массив с именем dbvalue, и имена полей БД совпадают с именами в HTML-форме)

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

Если вы ищете код, который все сделает за вас, вы пришли не в то место.

 40
Author: DaveyBoy, 2013-04-26 15:12:22

Добавьте этот код в свой входной тег

<?php if ($tag_1 == 'yes') echo "checked='checked'"; ?>
 5
Author: Damien, 2013-04-26 15:28:21

Этот самый простой способ - добавить атрибут "проверено".

<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
Author: Dan, 2013-04-26 15:12:37

Используйте атрибут checked="checked", если вы хотите, чтобы ваш флажок был установлен.

 1
Author: NicoDeug, 2013-04-26 15:12:11

Вы можете прочитать значение базы данных в переменную, а затем установить переменную следующим образом

$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
Author: Shriganesh Shintre, 2014-09-24 21:49:54