[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