[TYPO3-german] SELECT_mm Abfrage ?
Reinhard Führicht
rf at typoheads.at
Mon Aug 17 16:29:38 CEST 2009
Hallo,
die Fehlermeldung resultiert aus einem einfachen Tippfehler TYPO_DB
statt TYPO3_DB. Zusätzlich hab ich noch ein paar Dinge leicht verändert.
Versuchs mal hiermit:
$results2 = $GLOBALS['TYPO_DB']->exec_SELECT_mm_query(
'tx_dgapraxen_praxis.*,
tx_dgapraxen_praxis_mitarbeiter_mm.uid_foreign AS UIDFOREIGN,
tx_dgapraxen_mitarbeiter.nachname,
tx_dgapraxen_mitarbeiter.vorname,
tx_dgapraxen_mitarbeiter.art,
tx_dgapraxen_mitarbeiter.titel,
tx_dgapraxen_mitarbeiter.in_suche ',
'tx_dgapraxen_praxis',//Tablename, local table
'tx_dgapraxen_praxis_mitarbeiter_mm',//Tablename, relation table
'tx_dgapraxen_mitarbeiter',//Tablename, foreign table
'tx_dgapraxen_praxis_mitarbeiter_mm.uid_local='.$uid.' AND
tx_dgapraxen_mitarbeiter.uid=UIDFOREIGN AND hidden=0 AND deleted=0',
//where clause
'',
'',
'') ;
Reinhard
M. Graßhoff schrieb:
> Hallo liebe Liste,
>
> ich habe gerade ein Problem mit Typo-konformen DB Abfragen. Möchte
> langsam mal lernen, mich an die T3 Code Conventions zu halten.
> Nun habe ich ein Problem mit folgender Abfrage:
>
> //$uid kommt aus tx_dgapraxen_praxis
> $results2 =
> $this->getItems('*','tx_dgapraxen_praxis_mitarbeiter_mm','uid_local="'.$uid.'"');
> //getItems macht ne normale SELECT-Anw.
> while(list($d,$row2) = each($results2)){
> $uid_foreign = $row2['uid_foreign'];
> $results3 =
> $this->getItems('*','tx_dgapraxen_mitarbeiter',('uid="'.$uid_foreign.'"
> AND hidden=0 AND deleted=0'));
> while(list($e,$row3) = each($results3)){
> $arztNachName = $row3['nachname'];
> $arztVorName = $row3['vorname'];
> $art = $row3['art'];
> $titel = $row3['titel'];
> $inSuche = $row3['in_suche'];
> if($inSuche == 1){
> $alleMitarbeiter[$i] = $titel.' '.$arztVorName.'
> '.$arztNachName;
> }
> $i++;
> }
> }
>
> Wie kann ich das ganze in eine T3-konforme SELECT_mm Query umwandeln?
>
> Alle meine bisherigen Versuche scheiterten mit der Fehlermeldung: Call
> to a member function exec_SELECT_mm_query() on a non-object
> Letzter Versuch sah so aus:
> $results2 = $GLOBALS['TYPO_DB']->exec_SELECT_mm_query(
>
> 'tx_dgapraxen_praxis.*','tx_dgapraxen_praxis_mitarbeiter_mm.uid_foreign
> AS UIDFOREIGN,tx_dgapraxen_mitarbeiter.nachname,
> tx_dgapraxen_mitarbeiter.vorname,' .
>
> 'tx_dgapraxen_mitarbeiter.art, tx_dgapraxen_mitarbeiter.titel,
> tx_dgapraxen_mitarbeiter.in_suche ',
>
> 'tx_dgapraxen_praxis',//Tablename, local table
>
> 'tx_dgapraxen_praxis_mitarbeiter_mm',//Tablename, relation table
>
> 'tx_dgapraxen_mitarbeiter',//Tablename, foreign table
>
> 'tx_dgapraxen_praxis_mitarbeiter_mm.uid_local='.$uid.' AND ' .
>
> 'tx_dgapraxen_mitarbeiter.uid=UIDFOREIGN AND hidden=0 AND
> deleted=0',//where clause
> '',
> '',
> '') ;
> while($row2 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($results2)){
> $arztNachName = $row2['nachname'];
> $arztVorName = $row2['vorname'];
> $art = $row2['art'];
> $titel = $row2['titel'];
> $inSuche = $row2['in_suche'];
> if($inSuche == 1){
> $alleMitarbeiter[$i] = $titel.' '.$arztVorName.'
> '.$arztNachName;
> }
> $i++;
> }
>
> Danke für Eure Hilfe!!!
>
> Gruß,
> M-ko
>
More information about the TYPO3-german
mailing list