[TYPO3-german] relation suche in komma-separierten blob feldern

Bernd Wilke t3ng at bernd-wilke.net
Sun Mar 23 16:01:29 CET 2008


Ralph Fuelop wrote:
> Hallo
> 
> bei einer selbst erstellen extension, die eine Vereinsdatenbank 
> (Vereine, Sportarten: ein Verein hat x Sportarten. Sportart X wird in X 
> Vereinen betrieben) werden soll, habe ich das Problem die komma 
> separierten Werte auszulesen. Ich versuche sie so auszulesen, aber ees 
> wird nur auf den ersten Wert im Feld zugegriffen.
> Kann  mir da jemand helfen, suche schon ewig nach einer Lösung....
> Tausend Dank!
> Gruss Ralph
> 
>         $query='SELECT * from tx_rfvereine_vereinsdaten'
>         .' WHERE sportart IN ('.$this->internal["currentRow"]["uid"].')'
>           .' AND hidden=0 AND deleted=0 ';
>        $res = $GLOBALS['TYPO3_DB']->sql_query($query);
>        $result='';
>         while( $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res) ) {
>         $result.=$row['name'].',';
>        }
>         /*$result=substr($result,0,(strlen($result)-2)); */
>         return $result;
>         break;

die Liste deiner Sportarten steht doch bei den einzelnen Datensätzen in 
einer Komma-separierten Liste im Feld 'sportart', oder?

wo kommt denn '$this->internal["currentRow"]["uid"]' her und was steht 
da drin? die aktuell gesuchte Sportart (id der sportart)?

irgendwie ist mir das nicht ganz klar.

konkret brauchst du typischerweise eine Abfrage der Art:

SELECT * FROM tabelle WHERE '.$id_der_sportart.' IN (feld_mit_sportartliste)

bzw. für SQL ohne IN-Abfrage:
SELECT * FROM tabelle WHERE ",'.$id_der_sportart.'," like 
(concat("%,",feld_mit_sportartliste,",%")

Bernd


More information about the TYPO3-german mailing list