从数据库中获取和更新数据

时间:2015-03-03 10:17:44

标签: codeigniter-2

我想使用codeigniter从数据库中获取和更新数据。我正面临一些问题。这是我的代码:

这是我的模型,名称为Update_site_model。

<?php
class update_site_model extends CI_Model{   
    function show_invoice_id($data) {
        $this->db->select('*');
        $this->db->from('invoices');
        $this->where('invoiceId', $data);
        $query = $this->db->get();
        $result = $query->result();
        return $result;

    //Update Query For Selected Invoice.
    function update($id,$data) {
    $this->db->where('invoiceId',$id);
    $this->db->update('invoices',$data);    
    }
}
?>

这是我的控制器名称更新站点。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Update_site extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->view('includes/header');
        $this->load->view('site/update');
        $this->load->view('includes/footer');

        //load the model
        $this->load->model('update_site_model');

    }

    function show_invoices() {
        $id = $this->uri->segment(3);
        $data['single_invoice'] = $this->update_site_model->show_invoice_id($id);
        $this->load->view('site/update', $data);
    }

    function update() {
        $id = $this->input->post('invoiceId');
        $data = array(
        'Date' => $this->input->post('invoiceDate'),
        'Client' => $this->input->post('invoiceClient'),
        'Amount' => $this->input->post('invoiceAmount'),
        'Status' => $this->input->post('invoivceStatus')
        );

        $this->update_site_model->update($id, $data);
    }
}

这是我对更新名称的看法。它位于一个名为site的文件夹中。

 <div id="content">

    <ol>
        <?php foreach ($invoices as $invoice): ?>
            <li><a href="<?php echo base_url() . "index.php/Update_site/show_invoice_id" . $invoice->invoiceId; ?>"><?php echo $invoice->invoiceId; ?></a></li>
    </ol>
        <?php endforeach; ?>    

    </div>

这就是问题所在。

  

严重性:注意

     

消息:未定义的变量:发票

     

文件名:site / update.php

     

行号:11

     

严重性:警告

     

消息:为foreach()提供的参数无效

     

文件名:site / update.php

     

行号:11

请帮我解决问题。

1 个答案:

答案 0 :(得分:-1)

在你的控制器中查看:

 $data['single_invoice'] = $this->update_site_model->show_invoice_id($id);

现在在您的视图中查看此内容:

<?php foreach ($invoices as $invoice): ?>
你错了吗??

没有..?

让我告诉您,由于您将数据库结果存储在$data['single_invoice']中,因此您应该在视图中通过$single_invoice访问它。

所以视图中的正确用法是:

<?php foreach ($single_invoice as $invoice): ?>

下次当您提出任何问题时,请给出相应的标题。