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;
Hallo Rarufu
Grundsätzlich ist diese Art der Speicherung von Beziehungen nicht optimal. Besser wäre die Verwendung des "True MM-Relations" Lösungsansatz.
Für dein Problem gibt es aber trotzdem eine Lösung, deine Abfrage sollte so aussehen:
$query='SELECT * from tx_rfvereine_vereinsdaten'
.' WHERE FIND_IN_SET('.$this->internal["currentRow"]["uid"].',sportart) AND hidden=0 AND deleted=0 ';
Wenn wir jetzt noch die von TYPO3 zur Verfügung gestellten Funktionen nutzen würde dies so aussehen:
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_rfvereine_vereinsdaten','FIND_IN_SET('.$this->internal["currentRow"]["uid"].',sportart)'.$this->cObj->enableFields('tx_rfvereine_vereinsdaten'));
Das enableFields kümmert sich automatisch um deleted, hidden oder abgelaufene Datensätze.
Gruss
Markus
Hallo Markus!
Tausend Dank! Es funktioniert!!!javascript:emoticon('😃')
Ind ie MM Relationen muss ich mich dann mal einarbeiten. Wir Dir da ein Tutorial bekannt wäre....
Grüße
Ralph