Frage von iamaterroristno, 31

Website Produktfilter JAVASCRIPT?

Moin allerseits,

mein Anliegen: Ich möchte gerne einen Produktfilter in meine Websiten implementieren. Sprich Nutzer gibt Informationen, wie Preis Hersteller und Bewertung an und es soll auf einen Buttonclick eine neue Seite geladen werden, auf der alle geeigneten Produkte dargestellt werden.

Meine erste Idee war mit JavaScript das ganze umzusetzen, da es sich nur um 20 Produkte handelt. Mir ist durchaus bewusst, dass es ab einem bestimmten Punkt besser ist mit Datenbanken o.Ä. zu arbeiten und das ganze über php oder python zu steuern. Nun stehe ich aber vor dem Problem, dass ich nicht weiß wie ich mit JavaScript auf eine andere Seite "umleite" und auf diese Seite gleichzeitig 3 Attribute mitzugeben.

Ich habe bereits bei anderen Produktfilter Ergenis-Seiten gesehen, dass diese hinter der domain ein Anhängsel haben an dem man schon die "Attribute" sieht:

.../?hersteller=xyz&preis=888&bewertung=50

Kann ich also eine Seite erstellen, auf welcher alle Produkte in "divs" aufgelistet sind und dann durch javascript die url auslesen, um daanach zu überprüfen, durch if Statements, ob das jeweilige Produkt eingeblendet werden soll oder nicht.

Wenn ja wie kann ich durch JavaScript also eine Funktion eine URL aufrufen?

(ca. so: http://domain.com/ergebnise/hier die attribute um sie später darüber wieder auszulesen)

Ich hoffe jemand versteht mein Anliegen und kann mir durch Rat oder Verweise auf andere Quellen behilflich sein.

MfG Helix

Antwort
von areaDELme, 19

die frage ist erstmal wie ist deine website aufgebaut?
-sind die produkte in einer datenbank?, oder einfach nur hardgecodet in der seite? (wäre sehr schlechter stil)
-mit was für einem cms/framework wird deine website verwaltet?
-könnten inzukunft noch mehr produkte dazukommen?

am besten ist es es mit einer sql datenbank zu machen und dann mit php die sql abfragen machen und damit alles zu filtern.
die url-"anhängsel" sind parameter die du in php mit $_GET['bewertung'] einfach im code benutzen kannst. ist eigentlich ganz simpel.

<?php 
//verbindung zur datenbank
$pdo = new PDO('mysql:host=xyz;port=123;dbname=meinedb;', 'username', 'password');

//parameter aus url holen
$bewertung = $_GET['bewertung'] ;

//sql abfrage definieren
$products = "SELECT * FROM products WHERE bewertung=$bewertung"

//für jedes product aus der menge von products
foreach ($pdo->query($products) as $product) {
      echo $product; //tue etwas mit der zeile aus der datenbank
}

mit einer sql abfrage und den paramtern die du so einließt lässt sich ganz einfach die ausgabe auf die gewünschten elemente reduzieren (beim client werden auch nur diese produkte geladen und nicht alle und dann manche ausgeblendet)

viel mehr kann ich dir leider nicht helfen, da ich absolut keine ahnung ahb wie deine website aufegebaut ist.


Kommentar von iamaterroristno ,

Dachte an so eine vorgehensweise nur zwischendurch hat jemnd anders mir zu js geraten

Antwort
von bkeskin, 12

Ich würde das ganze mit einem Angular JS Filter umsetzen, so musst du auch nicht auf eine andere Webseite umleiten und hast das direkte Feedback.

Hier ein Beispiel drück auf run und probier es mal aus:

http://jsfiddle.net/api/post/library/pure/

Grüße

Antwort
von Dory1, 7

Meine erste Idee war mit JavaScript das ganze umzusetzen, da es sich nur um 20 Produkte handelt.

Brauchst du da überhaupt einen Filter? Ich würde dir jedenfalls zustimmen, dass es bei dieser Menge keinen Sinn macht eine serverseitige Filterung durchzuführen. Du solltest alle Produkte auf der Seite darstellen und dann eine Filterung mit Javascript anbieten.

Jetzt bleibt nur noch die Frage in welcher Form die Produkte bei dir abgelegt sind? Hast du jeweils eine HTML-Seite mit den Informationen angelegt? Liegen die Produkte in einer Datenbank?

Keine passende Antwort gefunden?

Fragen Sie die Community