0

我写了一小段,根据用户提供的输入从数据库表中获取一个值。快速这里是事件:

  1. 用户在输入和提交表单中输入数字
  2. 该数据应该调用控制器,然后控制器必须匹配并从数据库表中获取相关数据,然后再次将其传递给控制器​​。
  3. 然后控制器必须将它传递给视图,另一个文本输入(只读)将数据作为值。

但我收到的是一个错误:

消息:未定义变量:due_amount 文件名:main/new_payment.php 行号:148

new_payment.php 中的第 148 行是

);

在视图中。

这是我的模型

function get_by_room_number($room_data) {       
    $this->db->select('due_amount');
    $query = $this->db->get_where('rooms', array('room_number' => $room_data), 1);

    if($query->num_rows()>0) {
        foreach ($query->result() as $row) {
            return $row->due_amount;
        }
    }

这是控制器

function search_by_number() {
    $room_data = $this->input->post('room_number');
    $due_amount = $this->payments_model->get_by_room_number($room_data);
    $this->index();
}

这是视图:(new_payment.php)

<?php echo form_open('payments/search_by_number'); ?>    
<?php $data = array(
    'name'  =>  'total_amount',
    'id'    =>  'appendedPrependedInput',
    'class' =>  'span2',
    'value' =>  $due_amount
    ); // Line Number 148
echo form_input($data);
?>   

<?php echo form_close(); ?>
4

2 回答 2

1

试试喜欢

$data['due_amount'] = $this->payments_model->get_by_room_number($room_data);

并尝试将其发送以查看

$this->load->view('view_file',$data);

并在您的视图文件中回显它

echo $due_amount;

假设这$data是您从控制器函数传递给视图的数组。您将变量从控制器传递到视图。您需要通过数组数据传递它,然后您可以获得具有该变量名的变量

于 2013-07-06T11:56:21.863 回答
1

您应该分配due_amount$data变量并将其传递给视图。像这样:

$data['room_data'] = $this->input->post('room_number');
$data['due_amount'] = $this->payments_model->get_by_room_number($data['room_data']);
$this->load->view('my_view', $data);

然后在视图中你可以这样做:

print_r($room_data);
print_r($due_amount);

CodeIgniter 用户指南可能会帮助您更好地理解它。

于 2013-07-06T12:01:07.857 回答