如何在CodeIgniter中显示数据库表的值?

问题描述 投票:-2回答:2

我正在创建一个示例图像测试,其中我想在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>
php mysql codeigniter
2个回答
1
投票

你在你的模型和控制器中犯了一个错误,我提到了变化,请记下来试试,

模型文件

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
投票

我假设您在uploads/abc.png上传时将图像存储在目录中

然后你可以从db(你已经在做)中获取数据

在视野中:

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

或者如果要将整个路径存储在DB中,则:

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

© www.soinside.com 2019 - 2024. All rights reserved.