How to retrieve data from the database and display

2019-02-20 21:22发布

问题:

anyone please help me to retrieve the db data and how to view it in html table.is the coding i given is correct or not if not can you please say how i have to give. in order to view it in html table.

Controller

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

View

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

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

<table>

Model

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

回答1:

Try this:

<?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:

Put this in the end of your edit_content function in your controller

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

Loading of the view should be done in the controller. From what I see, your model have returned the result so the last line is not executed.



回答3:

Do this in your edit_content function

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

and in your view, access the content like:

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

 </tr>
 <?php endforeach; ?> 

You have to do this beacuse the $result is an associative array not a simple one. Hope this helped you.



标签: codeigniter