Я пытаюсь заполнить два поля формы из данных, которые извлекаются из базы данных, чтобы пользователь мог их обновить. Таблица называется records
и это довольно просто:Заполнить поля формы из базы данных с помощью Codeigniter
record_id
название
содержание
Моя модель:
function get_data()
{
$r = $this->uri->segment(3);
$query = $this->db->get_where('records', array('Record_ID' => $r));
return $query->result();
}
Мой контроллер:
function set_values()
{
$data = $this->entries_model->get_data();
$this->load->view('update_view', $data);
}
и мое обновление вид записи:
<?php
echo form_open('site/update',$data);?>
Title:
<?php echo form_input('title',set_value('title'));?>
Content:
<?php echo form_input('content',set_value('content'));
echo form_submit('submit', 'Submit');?>
<?php echo form_close();?>
Проблема заключается в том, что я получаю следующее сообщение об ошибке:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/update_view.php
Line Number: 10
Мой вопрос имеет два аспекта:
- Как я получить доступ к этой информации в моей форме представления и
- как я заполняю соответствующие поля.
Я новичок в Codeigniter, мои вопросы могут выглядеть упрощенными, но любая помощь будет оценена по достоинству. Заранее спасибо.
Спасибо за всю информацию, это действительно помогло мне понять вещи. Но как мне пойти в set_value() в представлении? Alredy попробовал предложенный синтаксис umefarooq, но я получаю ошибки, т. Е. Php echo form_input ('title', set_value ((is_object ($ mydata)? $ Mydata-> title: '')));?> "> и получать A PHP ошибка была обнаружена Серьезность: Обратите внимание сообщение: массив для преобразования строки Имя файла: хелперов/form_helper.php Номер строки:. 1010 три раза подряд – user2220713
Вот пример одного из моих приложений для того, как Я делаю это: Php echo form_input ('cluster', set_value ('cluster', $ envs ['cluster']));?> В этом случае контроллер задает значение $ data ['envs' ] ... значение w как массив, содержащий элемент «кластер», например: $ data ['envs'] = array ('name' => $ envName, 'cluster' => $ clusterName). Итак, когда $ data было передано в представление, $ envs стал переменной типа Array, доступной в представлении. set_value() устанавливает значение элемента формы name = cluster в значение $ envs ['cluster']. Имеют смысл? – jcorry
Большое спасибо jcorry, я узнал это решение через несколько дней, это точно так, как вы говорите. Еще раз спасибо за ваше время и ответы. – user2220713