Zum Inhalt springen

Hilfe bei Abfrage

Erstellt am 19. November 2013 · 4 Antworten · letzte Antwort am 21. November 2013

Tags: JavaScript & AJAX, Datenbank, TYPO3 6.x, Frage

PhilippParth ·

Hallo Leute ich habe ein Kleines Problem.

Ich möchte gernen einen LiveSearch erstellen.

Man also in der Linken Spalte per Checkobox die Kategorien auswählen.

Diese Werden dann per Ajax an eine Datei gesendet.

Dann kommt mein Problem 🙂

Ich habe in der Datenbank die Felder Reisen

Reisen_name Reise_kategorie_id (verbunden mit Tabelle ReiseKategorien) ....usw

und eine tabelle ReiseKategorien

ReiseKategorieID Reisekategorie.... usw

Das Problem ist wie kann ich aus der Taballe der Reisen alle auslesen die die ReiseKategorie (xx, xxx, xxxx ) haben.

SELECT * FROM REISEN WHERE Reisen_kateogrie LIKE 1,2,3,4,5???

Kann mir jemand weiterhelfen?

ich hoffe es ist verständlich

LG
Philipp

Tevsa · · Beste Antwort

MOin,

wenn ich das richtig verstanden haben würde dir FIND_IN_SET helfen.

SELECT * FROM yourtabe WHERE FIND_IN_SET('Your_value', Options);

das steht in der MSQL BESCHREIBUNG:
FIND_IN_SET(str,strlist)

Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings. A string list is a string composed of substrings separated by “,” characters. If the first argument is a constant string and the second is a column of type SET, the FIND_IN_SET() function is optimized to use bit arithmetic. Returns 0 if str is not in strlist or if strlist is the empty string. Returns NULL if either argument is NULL. This function does not work properly if the first argument contains a comma (“,”) character.

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2

Quelle:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

Gruß
Tevsa

poomer ·

Hallo,

ich habe ein änliches Problem. Bei mir sind im Feld eine odere mehrere ID's eingetragen (z.B. 1 ... oder 1,2). Gib es eine Möglichkeit um zu kontrollieren ob eine gewählte ID in diesem Feld vorhanden ist?

Danke im Voraus
lg

Tevsa ·

Moin,

also lt. des englishen Beschreibung da unten ja:

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2

Ers gibt sogar die gefundene Position aus. Ich habe das in einem Projekt vor 1 Jahr benutzt. Es klappt ja ;-).
Gruß
Tevsa