2009-07-16 15 views
0
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; 
} 

// Er ist der Autor des Codes ... Kategorien Klasse Autor: Shadi Alidie Kategorien Druck und Unterkategorien Allein

Jetzt möchte ich die Kategorien und Unterkategorien nur zurückkehren aus dem obigen Code.

Der obige Code funktioniert nicht .... kann mir jemand helfen.

Antwort

0

Hier sind zwei Probleme mit der browse() Funktion:

  • Die return-Anweisung ist innerhalb der foreach-Schleife. Die Anweisung gibt höchstens einen Wert für eines der Elemente in der $ categories-Liste zurück und führt keine Schleife über den Rest der $ categories-Liste aus.

  • Die Variable $ id wird nie in return $c->$id deklariert oder initialisiert, vielleicht bedeutete Sie $c['id'] oder $c->id

zu verwenden
Verwandte Themen