用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1802|回复: 3
收起左侧

[HELP] 3张表联合查询语句怎样写???

[复制链接]
发表于 2015-10-29 23:17:18 | 显示全部楼层 |阅读模式
表一:user(用户表)   已从session中获取username
id,username

表二:collection(收藏表)
col_id,user_id,goods_id

表三:goods(商品表)
goods_id,goods_name,goods_pic

打印出我的收藏的goods_name和goods_pic.
发表于 2015-11-2 10:59:59 | 显示全部楼层
稍微的学习下mysql 即可,主要是左右连接查询。
QQ截图20151102105908.png
发表于 2015-11-2 11:15:21 | 显示全部楼层
我封装了个单多表查询
PHP复制代码
 
        /**
         * 单/多表查询
         * @param  string $field    字段列表
         * @param  array $getwhere where
         * @param  string $pagenum  page
         * @param  string $exnum    offset
         * @param  string/array $table    array(array('table'),array('table1','table.id=table.uid'),......)
         * @return  array          [description]
         */

        function getDataTables($field='*',$getwhere,$pagenum="0",$exnum="0",$table)
        {      
                $this->db->select($field);
                if (is_array($table)) {
                        foreach ($table as $key => $tab) {
                                if ($key<1) {
                                        $this->db->from($tab[0]);
                                }else{
                                        $this->db->join($tab[0],$tab[1],'left');
                                }
                        }
                }else{
                        $this->db->from($table);
                }
                if($getwhere){
                        $this->setWhere($getwhere);
                }
                if($pagenum>0){
                        $this->db->limit($pagenum,$exnum);
                }
                $query = $this->db->get();
                $data['data_list'] = $query->result_array();
                $data['data_num'] = $query->num_rows();
                return  $data;
        }
复制代码
发表于 2016-9-14 10:51:54 | 显示全部楼层
zw942178655 发表于 2015-11-2 11:15
**** 作者被禁止或删除 内容自动屏蔽 ****

这个复制上写到页面里怎么用?

本版积分规则