首页 文章

CodeIgniter将查询结果作为文本输入值

提问于
浏览
0

我写了一小段根据输入用户提供的数据库表中的值 . 这里的事件很快就会发生:

  • 用户输入输入和提交表单的编号

  • 该数据应该调用控制器,然后控制器必须匹配并从数据库表中获取相关数据,并再次将其传递给控制器 .

  • 然后控制器必须将其传递给视图,其中另一个文本输入(只读)将数据作为值获取 .

但我收到的是一个错误:

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

new_payment.php中的第148行是

);

在视图中 .

这是我 Model

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;
        }
    }

这是 Controller

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

这是 View :( 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(); ?>

2 回答

  • 1

    试试吧

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

    并尝试将其发送到查看状态

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

    并在您的视图文件回声它

    echo $due_amount;
    

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

  • 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 User Guide可能会帮助您更好地理解它 .

相关问题