Ankündigung

Einklappen
Keine Ankündigung bisher.

Kontextsensitive Suche

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kontextsensitive Suche

    Hallo zusammen,

    ich bin Neu hier und hoffe, dass einige von Euch mir vielleicht etwas helfen können.

    Ich habe folgendes Problem:
    Ich habe eine Anwendung erstellt, die es erlaubt, Begriffe zu übersetzen.
    Läuft auch bis jetzt ganz gut.
    Nur wollte ich jetzt eine Kontextsensitive Suche einsetzen, d.h. wenn ich im Such-Feld z.B. die ersten 2 Buchstaben eingebe, sollen mir eine oder mehrer Vorschläge aus der Datenbank schon angezeigt werden.
    Nun stellt sich die Frage, ob das überhaupt zu realisieren ist.
    Ich sitze momentan ziemlich auf dem Schlauch, weil ich echt nicht weiß, wie das von statten gehen soll.

    Vielleicht hat ja einer von Euch eine Idee.

    Besten Dank schonmal im Voraus.

    LG
    ImmerAufDerLauer


  • #2
    Hallo IADL, Willkommen im Forum.

    Dein Plan ist eine typische Anwendung für Ajax. Die Lösung ist zweiteilig:
    1/ Über Javascript wird die Benutzerinteraktion abgefangen und gelieferte Daten als Vorschlag dargestellt...
    2/ ... die von einem PHP Script anhand eines Requestparameters bspw. durch einen geeigneten Datenbankzugriff erzeugt und als Übergabeformat ausgegeben wird.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Hey, der Event fuer das Eingabefeld koennte onkeypress sein. Schau dir doch mal Prototype an:
      Prototype JavaScript framework: Introduction to Ajax
      Code:
      <input onkeypress="CheckSearch(this.value)" type="text" />
      <div id="hits"></div>
      // ..
      function CheckSearch(keyword) {
      new Ajax.Request('/some_url',
        {
          method:'get',
          parameters:{search: keyword},
          onSuccess: function(transport){
            var response = transport.responseText || "no response text";
            $('hits').update(response);
          },
          onFailure: function(){ $('hits').update('Kein Treffer.'); }
        });
      (ungetestet)
      Wenn dein "/some_url" Skript nun eine Liste aus HTML-Links oder aehnlichem zurueckgibt (echo "eins,zwei") solltest du das im <div> Container nun sehen. Pass auf dass das nicht deinen Server in die Knie zwingt.

      Bei Fragen dazu, bitte erstmal die Prototype-Learn Seite lesen
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar

      Lädt...
      X