Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
Menü
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
  • Werben
  • Gastbeitrag
  • Sponsored Post
  • Kontakt
  • Login
  • Newsletter
Suche
  • Beste Agenturen
  • Agentur-Standorte
      Beste Agenturen Augsburg Altstadt von oben.

      Augsburg

      Blick auf die Mittlere Brücke in Basel bei Sonnenaufgang.

      Basel

      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Das Ruhrstadion in Bochum von oben, bei Sonnenuntergang.

      Bochum

      Bonn von oben, mit Blick auf den Rhein.

      Bonn

      Dortmund von oben Panoramafoto.

      Dortmund

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Duisburg Innenhafen bei Sonnenuntergang.

      Duisburg

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Die Skyline von Essen von oben.

      Essen

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Freiburg Innenstadt vom Münster aus fotografiert mit Blick Richtung Schlossberg und Sonnenuntergang..

      Freiburg im Breisgau

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Karlsruhe von oben

      Karlsruhe

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      Leipzig Innenstadt bei Sonnenuntergang und von oben.

      Leipzig

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Nürnberg Altstadt Stadtmauer von oben

      Nürnberg

      Blick auf das Flussufer der Innenstadt von Regensburg bei Nacht.

      Regensburg

      Agenturen Salzburg: Blick auf die Altstadt und die Hohensalzburg.

      Salzburg

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Menü
  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Agentur eintragen →
Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte
      Beste Agenturen Augsburg Altstadt von oben.

      Augsburg

      Blick auf die Mittlere Brücke in Basel bei Sonnenaufgang.

      Basel

      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Das Ruhrstadion in Bochum von oben, bei Sonnenuntergang.

      Bochum

      Bonn von oben, mit Blick auf den Rhein.

      Bonn

      Dortmund von oben Panoramafoto.

      Dortmund

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Duisburg Innenhafen bei Sonnenuntergang.

      Duisburg

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Die Skyline von Essen von oben.

      Essen

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Freiburg Innenstadt vom Münster aus fotografiert mit Blick Richtung Schlossberg und Sonnenuntergang..

      Freiburg im Breisgau

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Karlsruhe von oben

      Karlsruhe

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      Leipzig Innenstadt bei Sonnenuntergang und von oben.

      Leipzig

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Nürnberg Altstadt Stadtmauer von oben

      Nürnberg

      Blick auf das Flussufer der Innenstadt von Regensburg bei Nacht.

      Regensburg

      Agenturen Salzburg: Blick auf die Altstadt und die Hohensalzburg.

      Salzburg

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

Agentur eintragen →
Dr. Web » Webdesign » Suchergebnisse anzeigen ohne Nachladen mit jQuery

Suchergebnisse anzeigen ohne Nachladen mit jQuery

Ein gute Suchfunktion ist umso wichtiger, je größer der Datenbestand ist. Optimal wäre es, würde der Anwender bereits während Eingabe der Suchparameter über die zu erwartende Anzahl der Treffer informiert. Einen Weg dahin zeigen uns jQuery und PHP.

Sozial sein
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email
  • Keine Kommentare
Lesedauer: 3 Minuten
  • von Dr. Web Redaktion
  • 13. März 2009
Bookmarke mich
Share on pocket

Trendmarke GmbH

TYPO3 & Shopware Agentur München - 3m5.

ARIT Services GmbH

wolpersweb.de Webdesign & SEO

Wee Media | Webdesign Agentur

DRWA Das Rudel Werbeagentur

Ein gute Suchfunktion ist umso wichtiger, je größer der Datenbestand ist. Optimal wäre es, würde der Anwender bereits während Eingabe der Suchparameter über die zu erwartende Anzahl der Treffer informiert. Einen Weg dahin zeigen uns jQuery und PHP.

Hinweis: Dieser Artikel versteht sich als Anregung. Die verwendeten Scripts sind aufgrund mangelnder Absicherung nicht für den Produktiveinsatz gedacht; sie sollen lediglich die Umsetzung aufzeigen.

Damit die Anzahl der Treffer ohne Neuladen der Seite angezeigt werden kann, benutzen wir JavaScript, in diesem Fall das jQuery-Framework, damit wir uns keine Gedanken über die Requests machen müssen. Außerdem wird PHP für die Datenbankabfrage verwendet. Live-Demo im neuen Fenster

Der Beginn

Für die Suche wird in unserem Beispiel ein Formular mit drei Dropdown-Feldern verwendet. Generell ist es natürlich auch möglich, Checkboxen, Radiobuttons oder Textfelder abzufragen. Wir unterstellen ein fiktives Möbelsortiment; der Anwender kann nach der Bezeichnung (zum Beispiel „Wille“), der Art (Stuhl, Liege…) und der Farbe suchen. Die Anzahl der gefundenen Datensätze wird direkt auf dem Suche-Button angezeigt.

Um das jQuery-Framework einzubinden, reicht eine Zeile im <head>-Bereich der Seite:

<script type="text/javascript" src="js/jquery.js"></script>

Wobei der Pfad entsprechend angepasst werden muss.

Die Suche anstoßen

Folgendes kurzes Script reicht, um die Werte aus den Dropdown-Feldern zu holen und an das PHP-Suchscript zu übergeben:

$("select").change(function(){
    Bezeichnung=$("#Bezeichnung").val();
    Art = $("#Art").val();
    Farbe = $("#Farbe").val();
    Abfrage = "Bezeichnung=" + Bezeichnung + "&Art=" + Art + "&Farbe=" + Farbe;
    $.get("abfrage.php", Abfrage, function(Ergebnis){
        $("#Suche").val(Ergebnis + " Treffer anzeigen");
    })
})

Durch die Verwendung von $(„select“).change wird die Funktion jedesmal ausgeführt, wenn sich der Inhalt eines Dropdown-Feldes ändert, das heißt die Funktion ist automatisch an alle SELECT-Felder gebunden. Falls dies nicht gewünscht ist, kann für die einzelnen Felder eine Klasse oder ID vergeben werden.

$(„select#Suche“) bezieht sich nur das SELECT-Feld mit der ID „Suche“, $(„select.Suche“) auf alle Felder mit der Klasse „Suche“.

Die Werte der jeweiligen Felder werden dank jQuery ganz einfach über deren Namen ausgelesen; $(„#Bezeichnung“) ist die Kurzform für document.getElementById(„Bezeichnung“).

Abschließend müssen die Werte nur noch an das Suchscript übergeben werden. Dazu werden sie in einen String gepackt, welcher nach dem Muster „Wert=Inhalt“ aufgebaut ist.

Dank des $.get-Befehls brauchen wir uns keine Gedanken über die Requests zu machen; es reicht aus, lediglich den Pfad zum Suchscript sowie die Parameter zu übergeben. Da das Script einen Rückgabe-Wert liefert, wird dieser durch

$("#Suche").val(Ergebnis + " Treffer anzeigen");

direkt auf dem Such-Button angezeigt.

Suchen

if ($query != "") {
    $sql = $sql . " WHERE " . $query;
}

Da die Daten durch den $.get-Befehl übergeben wurden, werden sie vom Suchscript so behandelt, als wäre es in der Form „abfrage.php?Bezeichnung=Wert&Art=Wert&Farbe=Wert“ aufgerufen worden.

Wie bereits erwähnt, handelt es sich hier nur um eine Anregung. Die übergebenen Werte dürfen nicht ungeprüft übernommen werden.

Als erstes werden alle übergebenen Parameter und Werte ausgelesen; dies erledigt die kleine Schleife

foreach($_GET as $key => $value) {
    $Parameter[$key] = $value;
}

Zwar könnte man bei nur drei Werten diese auch „zu Fuß“ abholen ($Parameter[‚Art‘]=$_GET[‚Art‘]). Allerdings ist man so auch für größere Anfragen gerüstet.

foreach($Parameter as $key => $value) {
    if ($value != "") {
        if ($query != "") {
            $query = $query . " AND ";
        }
        $query = $query . $key . " = '" . $value . "'";
    }
 }

Danach werden die Parameter der Reihe nach abgefragt und falls ein Wert übergeben wurde, wird dieser an den späteren Suchstring für die Datenbankabfrage ($query) gehängt. Falls es mehr als einer sein sollte, muss natürlich noch ein „AND“ dazwischen, dafür sorgt die Überprüfung, ob $query leer ist oder nicht.

Zum Schluss wird der endgültige Abfragestring zusammengesetzt; sollte $query leer sein, werden alle Datensätze gelistet. Da es hier ausreicht, wenn wir wissen, wie viele Datensätze gefunden wurden, wird die Anzahl durch einen einfachen echo-Befehl an die Webseite zurückgeschickt. ™

echo mysql_numrows($result);

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Dr. Web Redaktion

Dr. Web Redaktion

An einem „Dr. Web Redaktion“ Artikel arbeiten i.d.R. mehrere Autoren, unter anderem Michael Dobler, Markus Seyfferth und Jörg Mrusek.

Agenturpartner

SEO Galaxy

Udler

Webdesign DOERRER

Frankfurt am Main

netkin digital Marketing

Köln

PromoMasters Online Marketing

Wien

Niels Neumann Online Marketing

Limburgerhof

Alle Agenturpartner

Jobs

Frontend Development & Project Management

Remote

Senior SEO Manager

München

Texter / Junior Content Marketing Manager

Innsbruck

Senior Online Marketing Manager

München

Projektmanager – Vollzeit

Remote

Zum richtigen Job

Newsletter

Tipps, Tricks, Ratgeber. Unser Newsletter: Jeden Dienstag frisch gedruckt in Deinem Mail-Postfach.

Lust auf mehr? Wir empfehlen folgende Artikel:

Webdesign Trends 2022: Das erwartet uns

Animation, Interaktion und Immersion: Das neue Jahr bringt zahlreiche Trends im Webdesign mit sich und entwickelt einzelne Bereiche weiter. Bereits jetzt ist klar – in Sachen Webdesign-Trends hat das Jahr 2022 einiges zu bieten.

 →   

Google Fonts sind nicht mehr datenschutzkonform. Was nun?

Mit dem Urteil des Landgerichts München vom 20.01.2022 ist nun auch die Verwendung von Google Fonts über die Fonts API nicht mehr datenschutzkonform. Zeit sich nach einer Lösung umzusehen, wie Du dennoch Google Fonts weiterhin einsetzen kannst.

 →   

Dunkel Design – herzlich willkommen auf Dr. Web

Wir freuen uns, dass Moritz Dunkel mit seiner Agentur DNKL.DSGN aus Köln an Bord ist. Moritz Dunkel von Dunkel Design verstärkt unser Agentur-Netzwerk. Inhaltsstarke Seiten

 →   

0 Antworten zu „Suchergebnisse anzeigen ohne Nachladen mit jQuery“
— was ist Deine Meinung?

  1. Eros Bein sagt:
    30. Juni 2010 um 11:45 Uhr

    Hallo!!

    Gibt es irgendwo ein Tutorial dazu, oder zumindest Einsicht in die komplette abfrage.php?

    Bin für jeden Hinweis dankbar.

    Grüße

    Eros

    Antworten
  2. Stefan sagt:
    11. März 2010 um 19:57 Uhr

    Danke für den JS Code. Das nun die Werte nicht gefiltert werden gehört ja auch nicht zu dem Beispiel oder? Wenn ich mir schon meine Erweiterung selber programmiere sollte ich wohl von alleine Wissen das ich auf sicherheit zu achten habe und die Werte dem entsprechend filtern lasse und die Datenbankabfrage sicher gestalte. Ausserdem steht im Titel nun auch nicht wie man Daten aus einer mySQL DB lädt und vorher sowie nachher die Werte prüft und filtert.

    Zu dem JS Beispiel nochmals danke.

    Antworten
  3. tinkiwinki sagt:
    31. März 2009 um 15:14 Uhr

    ich habe mal probiert diese leiste in meine homepage einzubinden, allerdings ist nichts erschienen auser dem code ganz untem im design. muss ich erst den code bearbeiten oder müsste eigentlich gleich etwas in der art zu erkennen sein????

    Antworten
  4. zyko sagt:
    13. März 2009 um 14:01 Uhr

    Danke für den TIP.
    Ich mach ja eh auch viel mit Typo3.
    Aber eher ‚Erweiterungen verwenden’…
    Das eID Feature war mir jedenfalls neu, aber kann man sicher mal brauchen 😉

    Antworten
  5. Crocus sagt:
    13. März 2009 um 11:16 Uhr

    Das mit dem Ersetzen des kompletten HTML in einem DIV-Tag ist realtiv einfach. Dafür gibt es bei jQuery „$.ajax“. Man einstellen welcher Typ von Rückgabecode erwartet wird, zB. HTML, XML, JSON usw.

    Ich benutze das mittlerweile sehr erfolgreich in Kombination von Typo3 und dem eID-Feature. Damit hab ich sogar eine Fallback-Variante realisieren können, dh. das Ganze funktioniert auch ohne Javascript aber dann halt ohne AJAX und die netten Effekte.

    Antworten
  6. zyko sagt:
    13. März 2009 um 10:35 Uhr

    Danke für die Info bezüglich der Einbindung von JQuery 🙂
    Diese $() Ausdrücke warn mir bisher auch eher suspekt.
    Das ist mal wirklich ein netter Einstieg.

    Bezüglich der Server-Seite muss ich leider Dominic rechtgeben.
    Ich finde das auch total unpassend derartig ungesicherten Code zu präsentieren.
    Da wäre es schon besser gewesen den Server-Teil im Artikel komplett auszulassen, oder sich halt ein wenig mehr Zeit zu nehmen den auch ‚korrekt‘ zu machen.
    Hätte ja wohl auch nur ein paar Zeilen Code mehr erfordert…
    So ist der Artikel leider nur ‚eine halbe Sache‘ geworden.
    Aber vielleicht kann man ja auch einen 2ten Artikel nachschiessen, mit korrektem Server-Teil 😉
    Mich würde z.B. auch das ersetzen kompletter div tag inhalte mit jquery durch html-tags vom server her interessieren…

    Antworten
  7. Dominic sagt:
    13. März 2009 um 8:55 Uhr

    Der Tipp, den Code hier nicht für den Produktiveinsatz zu nutzen ist zwar nett gemeint, wird aber PHP/MySQL Neulingen wenig helfen.

    1.) Die Werte sollten(!) „zu Fuß“ abgeholt werden um sicherzustellen, dass die Feldnamen auch tatsächlich in der Datenbank existieren. Ob das nun so wie in dem Beispiel gemacht wird, oder über einen Array mit den erlaubten Feldnamen, ist ja dabei wurscht.

    2.) Die Parameter in der dieser Zeile:
    $query = $query . $key . “ = ‚“ . $value . „‚“;

    müssen folgendermaßen escaped werden:
    $query = $query . $key . “ = ‚“ . mysql_real_escape_string($value) . „‚“;

    3.) Die ganze Abfrage an die Datenbank ist ziemlich unglücklich: Wenn es mir nur darum geht die Anzahl der gefundenen Zeilen auszugeben, dann sollte man „COUNT(*)“ zum Zählen verwenden, statt alle Zeilen tatsächlich aus der Datenbank zu holen.

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Dr. Web Logo weiss.

Pionier für Digitale Transformation. Seit 1997. ✅  Wissen, Tipps, Ratgeber, Dienstleister: Wir bringen wir die digitale Transformation von Unternehmen praxisnah voran.

Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email

Wissen finden

  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce
Menü
  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce

Rechtliches

  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑
Menü
  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑

Für Agenturen & Unternehmer

  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Menü
  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Das große Dr. Web Icon-Set: 970+ Icons, im SVG-Format​

Lade Dir jetzt das Icon-Set
kostenlos herunter ↓

Über 970 Dr. Web-Icons, kostenlos.
Danke nein, ist nichts für mich.
Invalid email address
Vielen Dank! Bitte schau noch in Dein Postfach und bestätige die Anmeldung.