Mit For-Schleife Array befüllen und ausgeben

Hallo Zusammen!

Ich arbeite mit Typo3 und habe ein PHP-Problem beim Coden meiner eigenen Erweiterung.

Ich habe dort eine Funktion die mir alle Anlagen zu den Referenzen ausgeben sollte, die zu den Datensätzen gehören. Wie ihr am query sehen könnt, sind die Anlagen zu den Referenzen in einer m:m Tabelle gespeichert.

Bis jetzt ist es so, das nur die erste Anlage zu den Referenzen ausgegeben wird. Weiss jemand wie ich die Schleife und das array aufbauen muss, dass alle Anlagen zu den Referenzen ausgegeben werden ?
Denke das müsste irgendwie mit ner Schleife und nem Array klappen. Schnall des aber nicht so ganz, weil ich mit assoziativen Arrays nicht so auf der Höhe bin.

PHP:
case 'ranlage':
 //Ist Array Leer
 if(!count($this->aCash)){
 
   $query = ('SELECT t2.uid_local, t3.aname FROM tx_mstreferenz_referenz t1,tx_mstreferenz_referenz_ranlage_mm  t2, tx_mstreferenz_anlage t3 WHERE t1.pid ='.intval($GLOBALS["TSFE"]->id).' AND t1.uid = t2.uid_local AND t2.uid_foreign = t3.uid'); 
 
 
   $this->cObj->enableFields('tx_mstreferenz_anlage');
   $this->cObj->enableFields('tx_mstreferenz_referenz');
 
   $res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query); 
   //if (mysql_error()) debug(array(mysql_error(),$query));
 
   while($row = mysql_fetch_array($res)){
 
 
  $this->aCash[$row['uid_local']]=$row;      
  //Anzahl Anlagen des aktuellen Rows print_r ($this->internal['currentRow']['ranlage']) 
  //$this->aCash[$this->internal['currentRow']['uid']]['aname'];
   }
 }
   return $this->aCash[$this->internal['currentRow']['uid']]['aname'];
 
break;

Dankeschön schon im vorraus.

Gruess
 
Habe einen Weg gefunden, ist zwar ne Bastellösung aber für den Übergang reichts.

PHP:
            case 'ranlage':

                //Ist Array Leer
                if(!count($this->aCash)){
                  //$query1 = ('SELECT t1.uid, t1.pid, t2.uid_local, t2.uid_foreign, t3.uid, t3.aname FROM tx_mstreferenz_referenz t1,tx_mstreferenz_referenz_ranlage_mm  t2, tx_mstreferenz_anlage t3 WHERE t1.pid ='.intval($GLOBALS["TSFE"]->id).' AND t1.uid = t2.uid_local AND t2.uid_foreign = t3.uid');
                  $query = ('SELECT t2.uid_local, t3.aname FROM tx_mstreferenz_referenz t1,tx_mstreferenz_referenz_ranlage_mm  t2, tx_mstreferenz_anlage t3 WHERE t1.pid ='.intval($GLOBALS["TSFE"]->id).' AND t1.uid = t2.uid_local AND t2.uid_foreign = t3.uid');    
                  //$query=$GLOBALS['TYPO3_DB']->exec_SELECT_mm_query('tx_mstreferenz_referenz_ranlage_mm.uid_local, tx_mstreferenz_anlage.aname','tx_mstreferenz_referenz','tx_mstreferenz_referenz_ranlage_mm','tx_mstreferenz_anlage','AND tx_mstreferenz_anlage.pid ='.intval($GLOBALS[TSFE]->id)); 
                  
                  $this->cObj->enableFields('tx_mstreferenz_anlage');
                  //$this->cObj->enableFields('tx_mstreferenz_referenz_ranlage_mm');
                  $this->cObj->enableFields('tx_mstreferenz_referenz');
                  
                  $res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query); 
                  //if (mysql_error()) debug(array(mysql_error(),$query));
                  
                  while($row = mysql_fetch_array($res)){
                    $this->aCash[]=$row;
                 }
                  

                }    
                foreach ($this->aCash as $aRow) {
                
                        if ($this->internal['currentRow']['uid'] == $aRow['uid_local'] ) {
                            //$names[] = 
                            $names[] = $aRow['aname'];
                            
                        }
                }    
               return $names[0]." ".$names[1]." ".$names[3]." ".$names[4]." ".$names[5];
               
            break;
 
Zurück