|
本帖最后由 xuyaokun 于 2012-8-27 14:37 编辑
项目需要加个人喜好,我是从asp转php的新手。这几天在用ci ,的确代码清爽,优雅。
可是遇到个无限分级搞的头大,如果不用mvc,直接对数据表递归,那自然太过简单了,但是即然分离式,那就彻底点把数据和显示分离。
论坛里也有不少这样的贴子,大多都很无语。要么没有给出view,要么太过繁琐,我不喜欢。
踏在前人的路,我接着前辈的model写我的view 。
http://codeigniter.org.cn/forums/thread-7986-1-1.html (没有view的原贴, model序列化数组牛逼,嘿嘿)
我再整理一下:
controllers
PHP复制代码
public function index()
{
$this->load->model('test_model','',TRUE);
$data['list'] = $query = $this->aa_model->get_data();
//print_r($query);
$this->load->view('test',$data);
}
复制代码
models (test_model.php)
PHP复制代码
function get_data() {
$query = $this->db->get('category');
$this->classArray = $query->result_array();
foreach($this->classArray as $row) {
if($row['cid'] == 0) {
$result[$row['id']] = $row;
$index[$row['id']] =& $result[$row['id']];
}else {
$index[$row['cid']][$row['id']] = $row;
$index[$row['id']] =& $index[$row['cid']][$row['id']];
}
}
return $result;
}
复制代码
views (test.php)
PHP复制代码
<table border="1" cellpadding="3" cellspacing="1" align="center">
<tr>
<th><b>排序</b></th>
<th><b>ID</b></th>
<th align="left"><b>栏目名称</b></th>
<th><b>操作</b></th>
</tr>
<?php
function haha ($list,$str=''){
foreach($list as $v):
?>
<tr>
<td align="center"><input type="text" size="3" id="paixu" value=" <?php echo $v['cpx'];?>" /></td>
<td align="center"> <?php echo $v['cid'];?></td>
<td> <?php echo $str.$v['cname'];?></td>
<td align="center">...</td>
</tr>
<?php
if(count($v)>4){
$tem_arr = array_diff_key($v,array('id'=>'','cid'=>'','cname'=>'','cpx'=>''));
//清除非数组重复项
haha ($tem_arr,$str. '--');
}
endforeach;
}
haha ($list);
?>
</table>
复制代码
我还不能上传图片,晕。只能外链个了
效果图>>>
|
|