单独打印类别和子类别

时间:2009-07-16 06:41:25

标签: php mysql

function build_list($id=0,$collapsed="") //return an array with the categories ordered by position
{

$RootPos = "";
$this->c_list = array();

if($id != 0){
$this_category  = $this->fetch($id);
$positions      = explode(">",$this_category['position']);
$RootPos        = $positions[0];
}

// lets fetch the root categories
$sql = "SELECT *
        FROM ".$this->table_name."
        WHERE position  RLIKE '^([0-9]+>){1,1}$' AND c_group    =      '".$this->Group."'
        ORDER BY c_name";
$res = mysql_query($sql) or die(trigger_error("<br><storng><u>MySQL Error:</u></strong><br>".mysql_error()."<br><br><storng><u>Query Used:</u></strong><br>".$sql."<br><br><storng><u>Info:</u></strong><br>",E_USER_ERROR));

while($root = mysql_fetch_array($res)){
$root["prefix"] = $this->get_prefix($root['position']);
$this->c_list[$root['id']] = $root;

    if($RootPos == $root['id'] AND $id != 0 AND $collapsed != ""){
    $this->list_by_id($id);
    continue;

}else{

// lets check if there is sub-categories
    if($collapsed == "" AND $id==0){
    $has_children = $this->has_children($root['position']);
    if($has_children == TRUE) $this->get_children($root['position'],0);
}}}
return $this->c_list;
}

//他是代码的作者...... 分类 作者:Shadi Ali

现在我想从上面的代码中返回类别和子类别。

function browse() {

$categories = new categories;
$categories_list = $categories->build_list();

    foreach($categories_list as $c)
        {


            return $c->$id;

    }
}

以上代码无效....任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

以下是browse()函数的两个问题:

  • return语句位于foreach循环中。该语句将为$ categories-list中的一个项目(最多)返回一个值,而不是继续循环其余的$ categories-list。

  • $ id变量永远不会在return $c->$id中声明或初始化,也许您打算使用$c['id']$c->id