Durchsuchen eines Strings anhand Teileingabe des Inhalts

  • Hallo zusammen,


    stehe mal wieder vor einem Problem bei dem ich leider keine Lösung finde.

    Ich habe eine Datenbasis gefüllt mit Personen, Abteilungen, erweiterte Funktionen, Telefonnummern etc.

    Nun möchte ich diese Datenbasis durchsuchen lassen, und Treffer in einem div ausgeben.

    Suche ich nach vollständigen Bezeichnungen z.B. "Niederlassungsleiter" bekomme ich die gewünschten Ergebnisse. Ich möchte aber dass auch Teile gefunden werden, sodass also bei der Eingabe in das Input sowohl "Nieder" als auch "ssungsl" die Ergebnisse aller Niederlasungsleiter ausgeben. Und das ganze möglichst nicht unter Berücksichtigung von Groß- und Kleinschreibung.


    In VBA - falls das ein bisschen besser erklärt was mein Ziel ist - würde ich das so machen: InStr(1, UCase(suchText), UCase(EingabeText)))


    Ich finde zwar diverse Möglichkeiten einzelne Buchstaben zu suchen, oder die Functionen slice, substr etc., aber das scheint mir alles nicht das richtige zu sein, oder ich habe wieder einmal Tomaten auf den Augen. ;)


    Vielen Dank schon einmal im Voraus, Lämmi...

  • so eine suche kann man ja auf viele arten bauen.

    Am besten wäre ja Php mit Datenbank.

    Aber selbst wenn du es mit Js baust musst du dir ja erstmal sicher sein was du vor hast.


    Wenn man in der suche hund eingibt wird ja auch hund , in schund angezeigt.

    Groß und klein schreibung kann man ja in der suche schnell ja schnell ändern.


    Willst du sowas wie eine Teil suche bauen ?

    Ich meine wenn du jetzt als Suchwort "Luftballon" eingeben tust das er dann alles anzeigen tut wie "Luft, ball,lon und Luftballon" ?

    Für sowas gibt es doch bei Php was ,http://php.net/manual/de/function.similar-text.php

    Nur wie weit man das dafür nutzen kann weiß ich nicht. Habe da zwar schon spielerein gemacht aber eine ganze suche habe ich damit noch nichtgebaut.


    Aber erstmal soltest du wissen wie groß die Datein sind die du durchsuchen willst ,weil ab einer bestimmten größe sollte man Datenbanken benutzen

  • Wenn du deine Daten direkt von einer Datenbank filtern lassen möchtest, gibt es natürlich andere Methoden.

    Jedoch sieht es so aus, als ob du deine Daten im Code filtern möchtest und das beste um einen String gegen ein Muster abzugleichen sind Reguläre Ausdrücke.


    Dein Beispiel würde in JS so aussehen:

    Code
    /suchtext/.test(EingabeText);
  • Hallo zusammen,


    schon einmal besten Dank für die Vorschläge, SQL, PHP leider nicht möglich, da das ganze vorerst lokal auf einem Server in unserem Haus laufen wird, sollte es mal "Global" laufen sollen fange ich wahrscheinlich eh noch einmal bei 0 an. 8o

    Die Daten dementsprechen ebenfalls alle in einer JS Datei.


    Hier mal ein Beispiel wie das ganze aufgesetzt ist, Erfahrungsgemäß macht das die Fragestellung einfacher:

    Das Ziel wäre jetzt, den gleichen Effekt zu haben bei der Eingabe 'Bern' oder 'ern' oder eben ''bERNd' wie bei 'Bernd', und da stehe ich gerade komplett auf dem Schlauch.

    Einzige Idee die mir eingefallen wäre, wäre eine Elend lange for() Schleife, in der ich jeden einzelnen Buchstaben der Eingabe mit jedem einzelnen Buchstaben der Daten vergleichen müsste. Das wäre allerdings ein Aufwand (in erster Linie für die Rechner, denn wir reden nachher von irgendwas bei 40.000 Einträgen) der in keinem Verhältniss zu Erleichterung der Suche stehen würde.


    Falls wer eine Idee hat, würde mich sehr freuen.


    Danke euch!8)

  • Perfekt, danke dir erneut Sempervivum!


    Das komische ist, ich hatte mich vorher schon mit indexOf() beschäftigt, da ich auch der Meinung war dass das die richtige Funktion wäre, aber bin einfach nicht dahinter gekommen wie es richtig funktioniert.


    Ich schiebe das jetzt einfach mal auf die Erkältung. ;)


    Besten Dank an Alle...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!