【问题标题】:How to retrieve data from the database and display it in a html table using Codeigniter如何使用 Codeigniter 从数据库中检索数据并将其显示在 html 表中
【发布时间】:2013-08-01 06:10:22
【问题描述】:

请任何人帮助我检索 db 数据以及如何在 html 表中查看它。我给出的编码是否正确,如果不是,请你说我必须如何给出。为了在 html 表中查看它。

控制器

class edit_content extends CI_Controller {

    function edit_content()
    {
        parent::__construct();
        $this->load->model('editcontent_model');
        $this->load->helper('url');
        $this->load->library('acl');
        $this->data = $this->editcontent_model->get_contents();
    }
}

查看

<table>
    <tr>
        <th>Content</th>
    </tr>

    <?php foreach($this->data  as $r): ?>
        <tr>
            <tr><?php echo $r['content']; ?>
        </tr>
    <?php endforeach; ?>

<table>

型号

class editcontent_model extends CI_Model {
    var $CI; 

    function editcontent_model(){
        parent::__construct();
    }

    function get_contents() {
        $this->db->select('content');
        $this->db->from('contents');
        $query = $this->db->get();
        return $result = $query->result();
        $this->load->view('edit_content/edit_content', $result);
    }
}

【问题讨论】:

  • 您的主要问题是您正试图将数据传递到您的 模型 并从中加载视图。相反,您想在 控制器 中执行此操作。
  • 您使用的是什么版本的 Codeigniter?如果是最新版本,您可能需要重新编写类构造函数。
  • 查看完整解决方案:c-sharpcorner.com/UploadFile/225740/…

标签: codeigniter


【解决方案1】:

试试这个:

<?php
#mycontroller
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class edit_content extends CI_Controller    {

    public function __construct(){
        parent::__construct();
    }

    function edit_content()
    {
        $data   = array();
        $this->load->model('editcontent_model');
        $this->load->helper('url');
        $this->load->library('acl');
        $data['result'] = $this->editcontent_model->get_contents();
        $this->load->view('edit_content/edit_content', $data);
    }
}
?>
 <!-- myview -->
<table>
<tr>
<th>Content</th>

</tr>
<?php foreach($result  as $r): ?>
<tr><?php echo $r->content; ?>

    </tr>
<?php endforeach; ?>
</table>
<?php
#mymodel
class editcontent_model extends CI_Model{
    function get_contents() {
        $this->db->select('content');
        $this->db->from('contents');
        $query = $this->db->get();
        return $result = $query->result();
    }
}

【讨论】:

    【解决方案2】:

    把它放在你的控制器中你的 edit_content 函数的末尾

    $this->load->view('edit_content/edit_content', $result);
    

    视图的加载应该在控制器中完成。据我所知,你的模型已经返回了结果,所以最后一行没有被执行。

    【讨论】:

    • $data['name'] = $this->acl->getUsername($this->session->userdata['user_id']); $content['result'] = $this->editcontent_model->get_contents(); $this->load->view('edit_content/edit_content', $data, $content); 上面的代码它只查看 $data 如果我先给 $content 然后只有 $content 查看如何查看两者
    【解决方案3】:

    在您的 edit_content 函数中执行此操作

    $result=$this->editcontent_model->get_contents();
    $this->load->view('edit_content/edit_content', $result);
    

    在您看来,访问以下内容:

    <?php foreach($result  as $result): ?>
      <tr>
    <tr><?php echo $result[0]->content; ?>
    
     </tr>
     <?php endforeach; ?> 
    

    你必须这样做,因为 $result 是一个关联数组而不是一个简单的数组。 希望这对您有所帮助。

    【讨论】:

    • $data['name'] = $this->acl->getUsername($this->session->userdata['user_id']); $content['result'] = $this->editcontent_model->get_contents(); $this->load->view('edit_content/edit_content', $data, $content); 上面的代码它只查看 $data 如果我先给 $content 那么只有 $content 查看如何查看两者
    猜你喜欢
    • 1970-01-01
    • 2014-06-02
    • 2018-02-26
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多