PHP - Codeigniter переключатели

0

Я использую Codeigniter - я показываю такие переключатели:

<fieldset>

<legend>Part Time / Full Time:</legend><br>
<input type="radio" name="time" id="radfull" value="fulltime"> Full Time<br/>
<input type="radio" name="time" id="radpart" value="parttime"> Part Time

</fieldset>

Что хорошо работает, они отображаются. Вот код в модели.

'time'=>$this->input->post('time'),

который также отлично работает, он сохраняет выбор в database. Но как я могу заставить кнопку переключаться, когда страница загружается с выбором из базы данных?

Теги:
codeigniter
button
radio

2 ответа

0

Как сказал @Craig, использование set_radio - это то, что вам нужно.

PHP

<input type="radio" name="myradio" value="2" <?php echo set_radio('myradio', '2'); ?> />

Примечание. Значение этого переключателя - "2". Независимо от значения, это должен быть второй параметр в set_radio.

Ваш код будет выглядеть примерно так:

HTML

<fieldset>
    <legend>Part Time / Full Time:</legend><br>
    <input type="radio" name="time" id="radfull" value="fulltime" <?php echo set_radio('time', 'fulltime'); ?>> Full Time<br/>
    <input type="radio" name="time" id="radpart" value="parttime" <?php echo set_radio('time', 'parttime'); ?>> Part Time
</fieldset>

Если вы хотите, чтобы по умолчанию была установлена опция (когда загружается страница), где вы добавляете третий параметр TRUE на соответствующее радио.

ТАКЖЕ ПРИМЕЧАНИЕ. В вашем контроллере вам нужно будет загрузить библиотеку form_validation для любой из этих функций.

PHP

$this->load->library('form_validation');

Надеюсь это поможет!

EDIT Мои извинения, я неправильно понял вопрос. То, что у меня было выше, до того, как форма официально/успешно представлена. В вашем случае форма уже была (успешно) отправлена, и вы хотите... редактировать форму (из-за отсутствия лучших слов) - так что вам нужен способ заполнения входов любым пользователем.

То, что я делал в прошлом, по моему мнению, просто имеет тройную операцию на элементе.

Например, допустим, что я возвращаю пользователя, и есть свойство "time".

HTML

<fieldset>
    <legend>Part Time / Full Time:</legend><br>
    <input type="radio" name="time" value="fulltime" <? echo($user['time'] === 'fulltime') ? selected="selected" : '';  ?> />
    <input type="radio" name="time" value="parttime" <? echo($user['time'] === 'parttime') ? selected="selected" : ''; ?> />
</fieldset>

Может быть, это ближе к тому, что вы ищете?

  • 0
    Спасибо за ответ. да, вы понимаете, что я ищу, но это не сработало. Это делает страницу пустой.
  • 0
    Где-то должна быть ошибка. Как вы передаете данные на ваш взгляд? Например, в моем контроллере будет что-то вроде $data['user'] = $this->user_model('get_user'); Тогда я могу использовать echo $user['property']; с моей точки зрения.
0

Вы можете использовать хелпер формы, который имеет функцию "set_radio", самую последнюю функцию на этой странице;

https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

<input type="radio" name="time" value="fulltime" <?php echo set_radio('time', 'fulltime'); ?> />
<input type="radio" name="time" value="parttime" <?php echo set_radio('time', 'parttime'); ?> />

Надеюсь, это поможет.

  • 0
    не работал. заставляет исчезать переключатели <fieldset> <legend> Part Time / Full Time: </ legend> <br> <input type = "radio" name = "time" id = "radfull" value = "fulltime" <? php echo set_radio ('time', 'fulltime'); ? >> Полная занятость <br/> <input type = "radio" name = "time" id = "radpart" value = "parttime" <? Php echo set_radio ('time', 'parttime'); ? >> Неполный рабочий день </ fieldset>
  • 0
    я должен добавить ИСТИНУ?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню