Autosuggestion / Autocomplete MySQL
MarcMugg
- datenbank
- mysql
- php
Hallo, ich brauche bitte mal einen Denkanstoß. Ich habe ein Autosuggestion / Autocomplete umgesetzt (PHP & MySQL). Die DB hat die Felder "Ort", "OT" und "Bundesland". Das funktioniert soweit auch alles wunderbar wenn ich nach einem Ort suche. Nun soll man die Datenbank aber auch nach Ortsteilen durchsuchen können. Als Beispiel nehme ich mal Rostock:
Gibt jemand in das Textfeld "rosto" ein bekommt er zur Auswahl "Rostock, Mecklenburg-Vorpommern" vorgegeben (Rostock steht als Ort in der DB).
Gibt jemand in das Textfeld "warnem" soll er zur Auswahl "Warnemünde, Mecklenburg-Vorpommern" vorgegeben bekommen (Warnemünde steht als OT in der DB und ist ein Ortsteil von Rostock).
Wie kann ich also den Ort und den OT "gleichwertig" ausgeben/abfragen?
Danke für Tipps Marc
Tach!
Wie kann ich also den Ort und den OT "gleichwertig" ausgeben/abfragen?
Beide Bedingungen mit OR verknüpfen.
dedlfix.
Hallo, das ist schon klar.
SELECT ort, ot, `bundesland` FROM `Tabelle` WHERE `ort` LIKE 'warnem%' || `ot` LIKE 'warnem%' ORDER BY ort
echo $ausgabe->ort.', '.$ausgabe->bundesland;
Vielleicht macht es das Problem deutlicher. Ich muss in der Abfrage ja bereits etwas wie folgendes einbauen:
SELECT ort as var1, ot as var1, `bundesland` FROM `Tabelle` WHERE `ort` LIKE 'warnem%' || `ot` LIKE 'warnem%' ORDER BY var1
echo $ausgabe->var1.', '.$ausgabe->bundesland;
Das Beispiel funktioniert so natürlich nicht. Daher brauche ich ja Hilfe.
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
SELECT ort, ot, `bundesland` FROM `Tabelle` WHERE `ort` LIKE 'warnem%' || `ot` LIKE 'warnem%' ORDER BY ort echo $ausgabe->ort.', '.$ausgabe->bundesland;
Vielleicht macht es das Problem deutlicher. Ich muss in der Abfrage ja bereits etwas wie folgendes einbauen:
SELECT ort as var1, ot as var1, `bundesland` FROM `Tabelle` WHERE `ort` LIKE 'warnem%' || `ot` LIKE 'warnem%' ORDER BY var1 echo $ausgabe->var1.', '.$ausgabe->bundesland;
Das Beispiel funktioniert so natürlich nicht. Daher brauche ich ja Hilfe.
MySQL kennt ein if()
Du kannst aber auch das Datenmodell ändern:
Dann wird die Abfrage plötzlich ganz einfach. Wenn Du nur vollwertige Städte sehen willst, setzt Du einfach class='Ort' und wenn es alle sein sollen, belibt die Spalte bei der Filterung unberücksichtigt.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Prima, genau so mache ich es!
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
Du kannst aber auch das Datenmodell ändern:
- id ID des Datensatzes
- class Ort, Ortsteil, Stadtteil
- parent gehört zu Überordnung ID
- name Name des Ortes, Ortsteiles o. ä.
Wie muss ich das denn in diesem kramdown machen, dass meine Aufzählung eine tabulierte Aufzählung wird? Siehe Quelltext.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo robertroth,
Du kannst aber auch das Datenmodell ändern:
- id ID des Datensatzes
- class Ort, Ortsteil, Stadtteil
- parent gehört zu Überordnung ID
- name Name des Ortes, Ortsteiles o. ä.
Wie muss ich das denn in diesem kramdown machen, dass meine Aufzählung eine tabulierte Aufzählung wird? Siehe Quelltext.
Hör auf in Plaintext zu denken und fang an in HTML zu denken. Du verfasst hier kein Plaintext, sondern HTML. Das Konstrukt gibt es so nicht in HTML. Aber was es gibt ist eine dl
:
id
class
parent
name
LG,
CK
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
Hallo robertroth,
Du kannst aber auch das Datenmodell ändern:
id |ID des Datensatzes class |Ort, Ortsteil, Stadtteil parent |gehört zu Überordnung, ID name |Name des Ortes, Ortsteiles o. ä.
Wie muss ich das denn in diesem kramdown machen, dass meine Aufzählung eine tabulierte Aufzählung wird? Siehe Quelltext.
Hör auf in Plaintext zu denken und fang an in HTML zu denken. Du verfasst hier kein Plaintext, sondern HTML. Das Konstrukt gibt es so nicht in HTML. Aber was es gibt ist eine
dl
:
id
- ID des Datensatzes
class
- Ort, Ortsteil, Stadtteil
parent
- gehört zu Überordnung ID
name
- Name des Ortes, Ortsteiles o. ä.
Gefällt mir nicht. :-O
Dann lieber Tabelle...
Spirituelle Grüße
Euer Robert
robert.r@online.de
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
Hör auf in Plaintext zu denken und fang an in HTML zu denken. Du verfasst hier kein Plaintext, sondern HTML. Das Konstrukt gibt es so nicht in HTML. Aber was es gibt ist eine dl
:
Vielleicht solltest Du ein drittes Forum eröffnen für die "KramDown-Fahrschule". Wer die Übungsaufgabe als erster richtig löst, bekommt 10 Extrapunkte, wer anschließend noch eine brauchbare Alternative liefert, bekommt 15 Extrapunkte und wer dann noch was sinnvolles zu sagen hat, bekommt 20 Goldpunkte :-P
auf jeden Fall würde es trainieren. Schadet ja nix, eine zusätzliche Fremdsprache zu lernen.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo Christian Kruse,
Hör auf in Plaintext zu denken und fang an in HTML zu denken. Du verfasst hier kein Plaintext, sondern HTML. Das Konstrukt gibt es so nicht in HTML. Aber was es gibt ist eine
dl
:
Was hältst du von
.thread-message .posting-content dt { font-weight: bold; }
Bis demnächst
Matthias
Hallo Matthias,
Was hältst du von
.thread-message .posting-content dt { font-weight: bold; }
[x] Done
LG,
CK
Hallo Christian Kruse,
Vielleicht sollte man darüber nachdenken, den Text "Dieses Forum nutzt Markdown zur Formatierung der Postings. Formatierungs-Hilfe" noch weiter in die Nähe des Antwortfeldes zu rücken. Etwa zwischen Button-Leiste und Textarea.
Bis demnächst
Matthias
Hallo,
Wie muss ich das denn in diesem kramdown machen, dass meine Aufzählung eine tabulierte Aufzählung wird?
Kennst du das Wiki?
Gruß
Kalk
Hallo Tabellenkalk,
Kennst du das Wiki?
Jetzt auch mit Berücksichtigung der Beschreibungslisten.
Bis demnächst
Matthias