请问我这样的遍历类应该怎么应用在ci呢?
其实就是利用里面的star方法和show方法在循环。但是发现ci里面的模型不能直接这样用?以前是用while($row = mysql_fetch_array($res))作循环的,
但是现在用while ($row = $res->row_array()) 好像无效。怎么办呢?
$tree = new tree();
$a = $tree->star();
print_r($a);
class tree {
function star()
{
$this->db = $conn;
$sql = "select * from tvmenu where bid=0";
$this->res = mysql_query($sql, $this->db);
$this->arr = array();
$this->show($this->res,1,0);
return $this->arr;
}
function show($res,$i,$ii){
while($row = mysql_fetch_array($res))
{
$sql = "select * from tvmenu where bid=$row";
$res_sub = mysql_query($sql, $this->db);
$num_sub = mysql_num_rows($res_sub);
if($num_sub > 0)
{
$array=array();
echo "<li>+,{$row['id']},{$row['name']},{$i},{$ii}</li>";
$array['id'] = $row['id'];
$array['name'] = $row['name'];
$array['exp'] = 'Y';
$array['layer'] = $i;
array_push ($this->arr, $array);
$i++;
$this->show($res_sub,$i,$ii);
$i--;
}else{
$array=array();
echo "<li>-,{$row['id']},{$row['name']},{$i},{$ii}</li>";
$array['id'] = $row['id'];
$array['name'] = $row['name'];
$array['exp'] = 'N';
$array['layer'] = $i;
array_push ($this->arr, $array);
}
}
}
}
用 foreach 循环,请仔细揣摩手册的例子。 用 foreach 循环,请仔细揣摩手册的例子。
Hex 发表于 2011-4-19 01:08 http://codeigniter.org.cn/forums/images/common/back.gif
已经解决了。我用foreach($res->result_array() as $row)来代替。
用 foreach 循环,请仔细揣摩手册的例子。
效果不是一样的,如果查询的数据非常多,怎么办呢?
tangjianft 发表于 2012-4-2 18:12 static/image/common/back.gif
用 foreach 循环,请仔细揣摩手册的例子。
效果不是一样的,如果查询的数据非常多,怎么办呢?
...
我觉得一般数据不会超过1千行吧,超过一千行就可以分页了。
页:
[1]