Hallo Leute, über die Suchfunktion hab ich leider nichts passendes gefunden, also schlagt mich bitte nicht falls es doch schon mal gefragt wurde ;-)
Ich möchte in einer Tabelle Artist und Title zu MP3s speichern.
z.B. Queen, Flash
Disturbed, Stupify
usw.
Das speichern selbst der Daten ist kein Problem. Nun soll man aber über eine Suchfunktion auf einer Webseite nach entsprechenden Liedern suchen können.
Um Tippfehler ausschließen zu können, verwende ich momentan folgenden Code um die passenden Lieder zu finden:
SELECT * FROM `lieder`
WHERE SOUNDEX(artist)=SOUNDEX('$artist')
AND SOUNDEX(title)= SOUNDEX('$title')
Das funktioniert auch soweit ganz gut und ignoriert einige Tippfehler.
Nun ist die Frage, kann ich in einem INSERT-Statement eine Bedingung einbauen? So dass, wenn ein neues Lied für die Datenbank vorgeschlagen wird, ein ähnliches aber schon existiert, der Eintrag nicht erstellt wird?
Die ersten Versuche in der Richtung sahen so aus:
SELECT CASE (SELECT * FROM `lieder`
WHERE SOUNDEX(artist)=SOUNDEX('$artist')
AND SOUNDEX(title)= SOUNDEX('$title'))
WHEN 0 THEN
(INSERT INTO lieder (artitst,title) VALUES ('$artist','$title'))
ELSE END;
Bin ich da evtl schon auf dem richtigen Weg? Ich würde die Abfrage halt einfach gerne in ein Statement packen. Ich freue mich über jede Antwort und Danke schon mal ;-)