Как отобразить значения таблицы базы данных в CodeIgniter? - PullRequest
0 голосов
/ 24 декабря 2018

Я создаю тестовый образец изображения, в котором я хочу отобразить все изображения в таблице базы данных в CodeIgniter.Вопрос в том, как я могу отображать значения таблицы базы данных с помощью CodeIgniter?

Вот код моей модели:

<?php 

    class Image_model extends CI_Model{

        /*Sample test function for the image dropdown list*/
        public function getImages()
        {
            $query = $this->db->select('main_image_url'));
            $this->db->get('product_master');

            return $query->result();
        }
        /*End sample test function*/
    }
 ?>

Вот код моего контроллера:

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

    class Sample_image_dropdown extends MX_Controller{

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

        public function index()
        {
            $data['main_view'] = 'sample_view/image_dropdown_view';
            $this->load->view('sample_view/image_dropdown_view', $data);
        }

        public function display_all_images()
        {
            $this->load->model('sample_model/image_model');

            $data['images'] = $this->image_model->getImages();

            $data['main_view'] = "sample_view/image_dropdown_view";

            $this->load->view('sample_view/image_dropdown_view', $data);
        }

    }
 ?>

Вот код моего взгляда:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <div>
        <select name="" id="">
            <option value="all">All Image</option>
            <option value="with-image">With Image</option>
            <option value="no-image">Without Image</option>
        </select>
        <input type="submit" value="Search">
    </div>
    <?php if (isset($images)):?>

    <?php foreach ($images as $image):?>
    <table>
        <tr>
            <td>
                <th>
                Images
                </th>
            </td>
        </tr>
        <tr>
            <td>
                <img src="<?php echo "$image->main_image_url";?>">
            </td>
        </tr>
    </table>
    <?php endforeach; ?>
    <?php endif; ?>
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Вы допустили ошибку в вашей модели и в контроллере, я упомянул об изменениях, пожалуйста, запишите и попробуйте,

Файл модели

class Image_model extends CI_Model{

    /*Sample test function for the image dropdown list*/
    public function getImages()
    {
        $query = $this->db->select('main_image_url');
        $this->db->from('product_master');
        $query = $this->db->get();

        return $query->result();
    }
    /*End sample test function*/
}

Файл контроллера,

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

public function index()
{
    $data['main_view'] = 'sample_view/image_dropdown_view';
    $this->display_all_images();
}

public function display_all_images()
{
    $this->load->model('sample_model/image_model');    
    $data['images'] = $this->image_model->getImages();    
    $data['main_view'] = "sample_view/image_dropdown_view";    
    $this->load->view('sample_view/image_dropdown_view', $data);
}
0 голосов
/ 24 декабря 2018

Я предполагаю, что вы храните изображения в каталоге во время загрузки в uploads/abc.png

, тогда вы можете получить данные из БД (что вы уже делаете)

и в view :

<img src="echo dir_path./$image->main_image_url;" />

или если вы сохраняете весь путь в DB , тогда:

<img src="echo $image->main_image_url;" />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...