Hallo Forum
Ich hangel mich momentan von Problem zu Problem 🙂 Für ein Projekt schreibe ich eine mini-Extension mit Produkten (Klebstoffe) und Verarbeitung (z.B. Walzenauftrag, Spritzpistolen).
Habe für "Produkte" und "Verarbeitung" jeweils eine Tabelle angelegt.
Folgende SQL-Abfrage sollten mir die Relationen liefern:
case 'verarbeitung':
$select_fields = 'user_alfa_verarbeitung.titel';
$from_table = 'user_alfa_produkt, user_alfa_verarbeitung, user_alfa_produkt_verarbeitung_mm';
$where_clause = 'user_alfa_produkt_verarbeitung_mm.uid_local ='.$this->internal['currentRow']['uid'].' AND user_alfa_produkt.uid = user_alfa_produkt_verarbeitung_mm.uid_local AND user_alfa_produkt_verarbeitung_mm.uid_foreign=user_alfa_verarbeitung.uid'.$this->cObj->enableFields('user_alfa_verarbeitung');
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
$select_fields,$from_table,$where_clause,$groupBy=''.$orderBy=''.$limit='');
Das stimmt soweit auch laut phpMyAdmin (habe die Query ausgeben lassen).
Das Problem ist aber im folgenden Codeblock, so dass mir die Werte im Array überschrieben werden und ich jeweils nur noch EINEN Wert (aus Verarbeitung) zurückbekomme.
while ($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$this->verarbeitungArray[$row['uid']]=$row;
}
return $this->verarbeitungArray[$this->internal['currentRow']['user_alfa_verarbeitung']]['titel'];
break;
Im zweiten Codeteil liegt der Fehler - aber ich finde ihn nicht, bzw. komme auf keine Lösung #angry# Meine Programmiererfahrung ist leider auch recht 'bescheiden' - daher bin ich für jeden Hinweis, wie ich das 'while' und 'return' realisieren könnte, sehr dankbar!
Vielen Dank im Voraus