Mehrmalige Rückgabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrmalige Rückgabe

    Hallo Forum,

    ich benutze eine Funktion um ein dynamische Verzeichniss aus einer DB auszulesen.

    Die Funktion ruft sich selber auf. Soweit so gut.

    Jetzt bekomme ich aber auch das Ergebnis meheremale ausgegeben.

    Leider in rücklaufender Reihenfolge, damit meine ich, wenn die Funktion 3 mal durchgelaufen ist, bekomme ich erst das
    Ergebnis 3, dann 2, dann 1.

    Hier mal der Quellcode.

    PHP-Code:
            function makeElementPath($theid){
                
    $id $theid;
                
                if(!
    ctTools::isNumber($id)){
                    
    $id $GLOBALS['CT_CONTENT_OBJECT']->getIdByIdentifier($id);
                }
                
                
    $sql 'SELECT * FROM ct_content WHERE(id=%u)';
                
                
    $sql sprintf($sql,
                        
    $id
                
    );
                
                
    //echo 'SQL: '.$sql.'<br />';
                
                
    if( (!$this->db_obj->query($sql) ) || 
    (
    $this->db_obj->getRowCount() <= 0)){
            
                    return 
    $result;    
                } 
                
                
    $this->db_obj->getData();
                
                
    $data $this->db_obj->data;
                
                if( (
    $data['parent_id'] > $this->getRootID()) && 
    (
    $data['parent_id'] != $this->getRootID()) ){
                    
    //echo 'Parent ID ist da <br />';
                    
    if($data['content_type'] == 'container'){
                        
    //echo 'content_type ist container <br />';
                        
    if(count($this->element_path) <= 0){
                            
    //echo 'result ist <= 0 <br />';
                            
    $sql 'SELECT * FROM ct_content 

    WHERE( (parent_id = %u) AND (state_exec=\'y\'))'
    ;
                            
                            
    $sql sprintf($sql,
                                    
    $id
                            
    );
                            
                            if( (!
    $this->db_obj->query($sql) ) || 

    (
    $this->db_obj->getRowCount() <= 0)){
            
                                return 
    $this->element_path;    
                            } 
                
                            
    $this->db_obj->getData();
                            
                            
    array_push($this->element_path,$this->db_obj->data['identifier'].
    '.'.$this->getContentExtension($this->db_obj->
    data['content_extension']));    
                        }
                        
    array_push($this->element_path,$data['identifier']);
                        
                        
                    } else if(
    $data['content_type'] == 'content') {
                        
                        
    //echo 'content_type ist content <br />';
                        
    array_push($this->element_path,$data['identifier'].'.'.$this->
    getContentExtension($data['content_extension']));
                        
                    }
                    
                    
    //echo 'Nochmal <br />';
                    
    $this->makeElementPath($data['parent_id']);
                    
                } 
                        
                
            } 
    Ich hoffe mir kann jemand Helfen.

    Danke!

    Tom

    @wahsaga
    Sorry!
    Zuletzt geändert von TomGold; 13.12.2006, 19:15.

  • #2
    Re: Mehrmalige Rückgabe

    Regeln lesen, Code umbrechen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hat sich erledigt, geht auf einmal.

      ThX
      Tom

      Kommentar

      Lädt...
      X