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

[HELP] 加载多个视图的时候数据多显示一次?

[复制链接]
发表于 2010-3-24 11:02:29 | 显示全部楼层 |阅读模式
function index(){
   $data['content'] = $this->mcate->get_all_cate();
   $this->load->view('cate/cate_show',$data);
   $this->load->view('cate/cate_update');
  }

为什么加了 $this->load->view('cate/cate_update');后多显示了一次数据?
发表于 2010-3-24 11:54:09 | 显示全部楼层
啊?因为你的cate_update那个页面让它显示了呗,那个$data数组对cate_update视图也是可用的
你发完整代码
 楼主| 发表于 2010-3-24 13:28:17 | 显示全部楼层
function index(){
                        $data['content']        =        $this->mcate->get_all_cate();
                        $this->load->view('cate/cate_show',$data);
                        $this->load->view('cate/cate_update',$data);
                }

<?php foreach ($content as $res):?>
<li class="lis"><?php echo $res['cate_name'];?>  &nbsp; &nbsp;&nbsp; &nbsp;
<a href="<?php echo site_url('cate/getcatebyid/'.$res['id']);?>">修改</a>  
<a href="<?php echo site_url('cate/delete/'.$res['id']);?>">删除</a>
</li>
<?php endforeach;?>
</div>



<?php echo form_open('cate/add');?>
<li class="lis">上级分类:
<select name="parentid">
<option value="0">无(作为一级分类)</option>
<?php foreach ($content as $res):?>
<option value="<?php echo $res['id'];?>"><?php echo $res['cate_name'];?></option>
<?php endforeach;?>
</select>
</li>
<li class="lis">分类名:<input type="text" name="cate_name" /></li>
<li class="lis"><input type="submit" value="提交" /></li>
<?php echo form_close();?>
发表于 2010-3-24 20:54:02 | 显示全部楼层
控制器里把$data传给一个主view,然后在view里可以加载其他的view块,$data共享
发表于 2010-3-24 21:19:29 | 显示全部楼层
$this->load->view('cate/cate_show',$data);

cate/cate_show.php内可以包含:

$this->load->view('cate/header');
$this->load->view('cate/cate_update');
$this->load->view('cate/footer');

控制器内的$date只要传值给你的“主”视图,那么主视图内包含的其他视图同样会被赋予$date,
也可以理解为cate/cate_show视图加载所有的分视图后再被$date传入数据处理。

本版积分规则