Zum Inhalt springen

Erweitere Suchfunktion in SQL


Empfohlene Beiträge

Hey,

ich hab momentan ein etwas kniffliges Problem. Und zwar hab ich eine Suchfunktion programmiert, die ganz simple eine Datenbank nach allen möglichen Treffern durchsucht. Etwa so was:

$sql = "SELECT * FROM table WHERE (name LIKE '%KEY%') or (city LIKE '%KEY')";

Naja wie auch immer. Gehen wir davon aus das ich in meiner Tabelle 5 Datensätze hab, etwa so:

Name City

chris | Berlin

tobi | Berlin

andi | Karlsruhe

stefi | Berliner

caty | Broberlin

Eine Suche nach "berlin" würde mir demnach 4 Treffer bringen. Nun möcht ich, das in der Ausgabe immer, der Datensatz, wo der Suchbegriff mit beginnt, immer zu erst kommt und dann die anderen Datensätzen, bei denen der Suchbegriff im Text steht.

Also das die Ausgabe der Ergebnisse immer so aussieht:

Chris | Berlin

Tobi | Berlin

Stefi | Berliner

....

Caty | Broberlin

Hinweis: Die eigentliche DB umfasst mehrere Zigtausend Datensätze und hat deutlich komplexere Relationen als meine 2 Spalten hier ^^

Ich hoffe ich konnte mein Problem gut erklären und danke schon jetzt für eure Ideen.

mit freundlichen grüßen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank schon mal für die Antwort, für mein gepostetes Beispiel funktioniert das wohl sicher. Alle Berlin Einträge würden dann oben stehen, aller dings würde dann ein Oberlin auch vor einem Berlinale stehen...

Ich hab jetzt eine Lösung gefunden, nicht sehr elegant aber es funktioniert wohl. Zunächst eine Abfrage die alle Datensätze erfasst die genau mit dem Such wort anfangen

$sql = "SELECT * FROM table WHERE city LIKE 'KEY%'";

und anschließend eine abfrage die alles außer das obere nimmt

$sql = "SELECT * FROM table WHERE city LIKE '%KEY%' AND city NOT LIKE 'KEY%'

Dann merge ich die die Array und gut... Naja für de Anfang ist es erst mal eine Lösung aber naja. Noch jmd andere Ideen?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...