菜鸟求解 Message: Undefined index
控制器代码function index()
{
$this->load->model('tree_model');
$data=$this->tree_model->get_group_id_by_admin_id($_SESSION["ADMIN_ID"]);
$gpid=$data['gpid'];
$arr=$this->tree_model->getMenuData($_SESSION["ADMIN_ID"],$gpid);//$arr的数据已获得了,如下
/*
Array ( => Array ( => 35 => 群组管理 => index.php?type=system&do=group => 34 => 0 ) => Array ( => 36 => 帳號管理 => index.php?type=system&do=user => 34 => 0 ) => Array ( => 37 => 權限管理 => index.php?type=system&do=group_permission => 34 => 0 ) => Array ( => 16 => 產品 分類 => index.php?type=web&do=list&cn=product_category&langid=1&ntype=1 => 15 => 0 ) => Array ( => 44 => 相關鏈接分類 => index.php?type=web&do=list&cn=news_category&ntype=6&langid=1 => 42 => 0 ) => Array ( => 118 => Biotech 分類 => index.php?type=web&do=list&cn=product_category&langid=1&ntype=2 => 117 => 0 ) => Array ( => 125 => 消息管理 => => 0 => 1 ) => Array ( => 5 => 消息分類 => index.php?type=web&do=list&cn=news_category&ntype=2&langid=1 => 3 => 0 ) => Array ( => 17 => 產品 列表 => index.php?type=web&do=list&cn=product&langid=1&ntype=1 => 15 => 0 ) => Array ( => 43 => 相關鏈接列表 => index.php?type=web&do=list&cn=news&ntype=6&langid=1 => 42 => 0 ) => Array ( => 119 => Biotech 列表 => index.php?type=web&do=list&cn=product&langid=1&ntype=2 => 117 => 0 ) => Array ( => 127 => 消息分類 => index.php?type=web&do=list&cn=news_category&ntype=8&langid=1 => 125 => 0 ) => Array ( => 4 => 消息列表 => index.php?type=web&do=list&cn=news&ntype=2&langid=1 => 3 => 0 ) => Array ( => 15 => 產品 管理 => => 0 => 1 ) => Array ( => 126 => 消息列表 => index.php?type=web&do=list&cn=news&ntype=8&langid=1 => 125 => 0 ) => Array ( => 128 => 留言列表 => index.php?type=web&do=list&cn=contact&ntype=2 => 0 => 0 ) => Array ( => 21 => 幻燈片管理 => index.php?type=web&do=list&cn=slider => 0 => 1 ) => Array ( => 30 => 系統管理 => => 0 => 1 ) => Array ( => 34 => 管理權限 => => 30 => 0 ) )
*/
$data['menu']=$this->tree_model->createmenu($arr,base_url(),"admin");
$this->load->view('_frameset',$data);
//$this->getMenuData('sadf');
}
tree_mode模型代碼
<?
class Tree_model extends CI_Model{
function __construct(){
parent::__construct();
}
function resetArray($parent_id,$array){
$retVal=array();
//$retVal = '';
foreach($array as $val){
if($parent_id==$val["parent_id"]){
$retVal[]=$val;
//$retVal['indent'].=' ';
$tmp=array();
$tmp=$this->resetArray($val["id"],$array);
if($tmp){
foreach($tmp as $val2){
$retVal[]=$val2;
$retVal['indent'].=' ';
$retVal['flag']++;
}
}
unset($tmp);
}
}
return $retVal;
}
function get_group_id_by_admin_id($admin_id){
if(empty($admin_id)) return false;
global $webdb;
$query="select * from _sys_admin where id=".$admin_id;
$row=$this->db->query($query);
return $row->row_array();
}
function getMenuData($admin_id,$gpid){
//echo $admin_id;
if(empty($admin_id)) return false;
global $webdb;
$where =" or admin_id=".$admin_id;
$group_id=$gpid;
if($group_id) $where.=" or group_id=".$group_id;
$sql="select s.id,s.name,s.link,s.parent_id,s.hide_sub from _sys_section s inner join _sys_group_perm p on p.perm_id=s.id where (1 ".$where.") AND status=1 group by s.id order by s.sort,s.id asc";
$row=$this->db->query($sql);
//print_r($row->result_array());
return $row->result_array();
}
function hasSub($id,$array){
$retVal=false;
foreach($array as $ary){
if($ary["parent_id"]==$id){
$retVal=true;
break;
}
}
return $retVal;
}
function createmenu($array,$imgRootPath,$divIdPrefix="",$parent_id=0){
$result="";
$rs=$this->resetArray($parent_id,$array);
$result= '<div class="tree_menu" id="'.$divIdPrefix.'_tree_menu" >';
for($i=0;$i<count($rs);$i++){
$result.="<div width='100%'>";
for($j=0;$j<$rs[$i]["flag"];$j++){
if($rs[$i]["name"]&&(($j+1)==$rs[$i]["flag"])){
if($rs[$i+1]["parent_id"]==$rs[$i]["parent_id"]){
$result.= '<img src="'.$imgRootPath.'style/tree/H.gif">';
}else{
if($rs[$i]["flag"]<=($rs[$i+1]["flag"]+1)){
$result.= '<img src="'.$imgRootPath.'style/tree/H.gif">';
}else{
$result.= '<img src="'.$imgRootPath.'style/tree/L.gif">';
}
}
//echo "<hr />";
}else{
$result.= '<img src="'.$imgRootPath.'style/tree/I.gif">';
}
}
$rsid=$rs[$i]["id"];
$flag_img="nfolder.gif";
$onclick="";
$A_onclick="";
if($this->hasSub($rs[$i]["id"],$array)){
$flag_img="ofolder.gif";
//隱藏
if($rs[$i]["hide_sub"]==1) $flag_img="folder.gif";
$onclick=' ';
$A_onclick="javascript:OnClickOutline('".$imgRootPath."',".$rsid.")";
}
$result.= '<img class="Outline" id="ID'.$rsid.'" style="CURSOR: pointer" '.$onclick.' alt="" src="'.$imgRootPath.'style/tree/'.$flag_img.'" /> ';
if($rs[$i]["link"]){
if($rsid==105){
$result.='<a href="javascript:;">';
}else{
$result.='<a href="'.$rs[$i]["link"].'">';
}
}else{
if($A_onclick){
$result.='<a href='.$A_onclick;
}else{
$result.='<a href="javascript:void(0);"';
}
$result.='>';
}
$result.= $rs[$i]["name"];
$result.='</a>';
$result.="</div>";
// if($rs[$i]["pid"]==0) $result.= "<br />";
//</div>
if($rs[$i]["flag"]>$rs[$i+1]["flag"]){
$div_n=$rs[$i]["flag"]-$rs[$i+1]["flag"];
for($div_i=0;$div_i<$div_n;$div_i++){
$result.="</div>";
}
}
//end </div>
//<div>
if($this->hasSub($rs[$i]["id"],$array)){
$result.= '<div id="ID'.$rsid.'d"';
if($rs[$i]["hide_sub"]==1) $result.= ' style="display:none" ';
$result.= '>';
}
//end <div>
}
//$result.= '<div id="infodisplay"><font color="#999999">點擊+展開節點</font></div>';
$result.= '</div>';
$result.="<script>";
$result.=" $('#".$divIdPrefix."_tree_menu a').click(function (){";
$result.=" if($(this).attr('href')!='javascript:void(0);') {";
$result.=" SetCookie('".$divIdPrefix."_tree_menu',$(this).attr('href'));";
$result.=" SetCookie('".$divIdPrefix."_menu_name',$(this).text());";
$result.=" }});";
$result.=" tree_menu_setNow(GetCookie('".$divIdPrefix."_tree_menu'),'".$divIdPrefix."_tree_menu');";
$result.="</script>";
return $result;
}
}
?>
为什么我使用 createmenu函数,在调用resetArray函数是,会报错的??
A PHP Error was encountered
Severity: Notice
Message: Undefined index: indent
Filename: models/tree_model.php
Line Number: 44
A PHP Error was encountered
Severity: Notice
Message: Undefined index: flag
Filename: models/tree_model.php
Line Number: 45
刚玩ci几天,不是很会玩,求解!!
你的变量好像都没有赋值吧
先设置下
$retVal = array('indent' => ' ');
大道达人 发表于 2012-11-6 08:43 static/image/common/back.gif
你的变量好像都没有赋值吧
先设置下
$retVal = array('indent' => ' & ...
resetArray函数错误可以了,麻烦写下 createmenu函数 怎样赋值,放在哪个位置,为什么我还有错的??
页:
[1]