Autor Beitrag
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 04.01.09 14:39 
Hallo,
ich programmiere gerade einen Blog. Ich habe dort eine Spalte "blog_tags"(VarChar(255)), die sämtliche Tags beinhaltet, die mit dem Eintrag vorhanden sind.
Wenn der Nutzer nun einen speziellen Tag auswählt, dann sollen alle Beiträge angezeigt werden, die in den Blog-Tags den speziellen Tag haben.
Wie sieht dazu die Abfrage aus? Ich habe es schon mit Like und dem Tag versucht, allerdings kommt dann immer kein Ergebnis heraus.

MfG
Regan
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 04.01.09 14:53 
Im Normalfall speichert man jeden Tag als eigenen Eintrag in einer Tabelle und verknüpft die einzelnen Blog-Posts.

Zeig mal deine bisherige Abfrage (und Tabellenstruktur).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: So 04.01.09 16:50 
Und wie sind die Tags getrennt? Mit Komma, Leerzeichen etc.?
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 05.01.09 16:55 
Ich habe meine Like-Variante auf eine Match-Variante umgepolt. Die funktioniert allerdings genauso wenig.
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Im Normalfall speichert man jeden Tag als eigenen Eintrag in einer Tabelle und verknüpft die einzelnen Blog-Posts.

Wir sind doch alle nicht ganz normal :wink: .
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Zeig mal deine bisherige Abfrage (und Tabellenstruktur).

Kommt sofort. Ich bekomme sogar einen Fehler! "Filme" ist hier mein Suchwort.
Zitat:

Erroneous Query.

Query:

SELECT blog_id, blog_title, blog_cat, blog_created_time AS blog_time, blog_poster_id AS poster_id FROM blog WHERE match(blog_tags) against('filme') ORDER BY blog_created_time DESC

Error:

Can't find FULLTEXT index matching the column list

user profile iconHeiko hat folgendes geschrieben Zum zitierten Posting springen:
Und wie sind die Tags getrennt? Mit Komma, Leerzeichen etc.?

Durch Leerzeichen.

Gibt es auch eine andere Möglichkeit?
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.01.09 17:22 
Normalisiere Deine DB und Du hast diese Probleme nicht.

[edit] Beispiel:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Tabelle Blogs:
==============
Blog_ID (PK)
Titel
...

Tabelle Tags:
=============
Tag_ID (PK)
Bezeichnung
...

Tabelle BlogTags:
=================
Blog_ID (FK)
Tag_ID (FK)  //beide Schlüssel zusammen als PK


Um nun die Blogs zu listen, in denen das Tag "filme" vorkommt, musst Du nur über die Zuordnungstabelle joinen.
ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
SELECT B.Bezeichnung
FROM Blogs B
JOIN BlogTags BT ON BT.Blog_ID = B.Blog_ID
JOIN Tags T ON T.Tag_ID = BT.Tag_ID
WHERE T.Bezeichnung = 'filme'
[/edit]
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 05.01.09 17:51 
Vielen Dank für deine Antwort.
Das ist zwar schön und würde sicherlich funktionieren. Ich würde aber gern meine Variante anwenden wollen :wink: . Auch dafür muss es ja eine Lösung geben.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.01.09 17:57 
Hast Du denn auch einen FULLTEXT definiert? Siehe http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html
Regan Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 05.01.09 19:09 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Hast Du denn auch einen FULLTEXT definiert? Siehe [url=dev.mysql.com/doc/re...-language.html[/url]

Nein :oops: . Das wusste ich gar nicht, dass ich das machen muss, bzw. war mir dem gar nicht bewusst. Jetzt verstehe ich auch die Fehlermeldung :autsch: .
Danke für die Hilfe :zustimm: .