在codeigniter中显示单个产品的一行显示多个图像

时间:2017-07-03 07:33:28

标签: php codeigniter-3

如何在View文件中显示单个产品的多个图像,如表单,它们有一行包含三个图像,如何从模型返回结果。?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过为用户创建模型来实现。最简单的方法是使用sql join在模型内部创建单个方法,但我更喜欢为不同类型的数据分别设置方法。

    class User_model extends CI_Model {
        public $User_id;
        public $Lname;
        public $Fname;
        public $Timestamp;

        public function __construct($id = null){
            parent::__construct();
        }

        public function getUserByID($id){
            $query = $this
                         ->db
                         ->from('Users')
                         ->where('User_id', $id)
                         ->get();
            $results = $query->result();
            if(count($result) > 0){
                return $result[0];
            }
        }

        public function getUserPicturesByID($id){
            $query = $this
                         ->db
                         ->from('Images')
                         ->where('User_id', $id)
                         ->get();
            $results = $query->result();
            if(count($result) > 0){
                return $result;
            }
        }


        public function getAllUserDataByID($id){
            $query = $this
                         ->db
                         ->from('Users')
                         ->join('Images', 'Users.User_id = Images._User_id')
                         ->where('User_id', $id)
                         ->get();
            $results = $query->result();
            if(count($result) > 0){
                return $result[0];
            }
        }

    }

您可以通过将模型名称添加到application / config / autoload.php文件来自动加载模型,也可以从控制器加载模型。

    $this->load->model('User_model');

然后你可以像你这样在你的控制器中调用模型方法

    $user = $this->User_model->getUserByID(1);
    $userPictures = $this->User_model->getUserPicturesByID(1);

并将数据传递给视图,如下所示:

    $data = array(
             'user' => $user,
             'pictures' => userPictures 
            );
    $this->load->view('user_view', $data);

...在您的视图中,您可以访问以下数据:

    echo $user->Fname;

或foreach循环中的图片:

    foreach($pic in $pictures){
        echo '<img src="', $pic->ImagePath, '" />';
    }