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

[版本 3.x] 请问视图里如何通过获取的ID 进行where 匹配

[复制链接]
发表于 2016-1-27 16:30:51 | 显示全部楼层 |阅读模式
比如说:
正常的php文件里这么写可以调用出 分类列表里的每一个数据里都显示其父级分类的名字。
<?php
//数据库连接代码省略
//cid 是分类的id, parent_id是父级分类的id
$sql ="select * from category";
$query = mysql_query($sql);
$rs = mysql_fetch_array($query);
foreach($rs as $key):
$sql ="select * from category where cid =".$key['parent_id'].";
$query = mysql_query($sql);
$rs = mysql_fetch_array($query);
echo $rs['cname'];
endforeach;
?>

现在CI里是这么写的
model层:
    //分类列表
        public function getCategoryList(){
                $data = $this->db->get('category')->result_array();
                return $data;
        }

        //查看指定分类
        public function getCategoryById($cat_id = FALSE){
                $data = $this->db->where(array('cat_id'=>$cat_id))->get('category')->result_array();
                return $data;
        }
control层:

        public function __construct(){
                parent::__construct();
                $this->load->model('Category_model', 'cat');
        }
function index() {
    //列表循环         
    $data['category'] = $this->cat->getCategoryList();
    $data['links'] = $this->pagination->create_links();
    $data['parents'] = $this->cat->getCategoryById();
    $this->load->view('category', $data);
  
}

view层:
            <table class="table table-bordered table-striped with-check">
              <thead>
                <tr>
                  <th>ID</i></th>
                  <th>分类名称</th>
                  <th>父级分类</th>
                  <th>导航</th>
                  <th>操作</th>
                </tr>
              </thead>
<?php foreach($category as $v): ?>
                <tr>
                  <td><?php echo $v['cat_id']; ?></td>
                  <td><?php echo $v['cat_name']; ?></td>
                  <td>
<!-- 想在这里写个循环 调用控制器的$date['parent'], 但如何把where条件cat_id = parent_id 传进去呢? -->
                                  <?php echo $v['parent_id'];  ?>

                                  </td>
                  <td><?php echo $v['cat_nav']==0?"普通分类":"导航分类";  ?></td>
                  <td class="center">
                                  <a href="<?php echo site_url('category/edit/'.$v['cat_id']); ?>" class="btn btn-success btn-mini">编辑分类</a>
                                  <a href="<?php echo site_url('category/remove/'.$v['cat_id']); ?>" class="btn btn-danger btn-mini">删除分类</a>
                                  </td>
                </tr>
<?php endforeach; ?>

新手求解答。谢谢了!
发表于 2016-1-27 16:50:01 | 显示全部楼层
代码写得有点乱,不过我猜你是有主从表的,你直接用MySQL的关联查询,一次性把所有数据都查出来就好了
发表于 2016-1-27 19:25:34 | 显示全部楼层
写个helper就行了  如果还是不会私信我

本版积分规则