Bonjour à tous ,
J'aimerais réaliser une app qui permettrai de filtrer en temps réel des produits selon des critères. Je suis débutant en programation et surtout en AJAX.
Dans l'idée c'est un peu comme un système de filtre que l'on retrouve un peu partout dans les magasins en ligne ; le nombre de produits diminue selon les filtres appliqués et que les articles apparaissent en temps réel.
Pour se faire j'ai réalisé un bdd MySQL avec des colonnes pour appliquer les filtres.
J'ai aussi réalisé ma requête préparée qui fonctionne avec le submit en PHP.
Question, AJAX est la solution?
Ça fait deux jours que je cherche et je ne voit pas d’exemple avec plusieurs conditions, uniquement des systèmes avec une liste déroulante (donc avec un seul critère).
Voici ma requête préparée:
Si vous avez des indications sur des tuto ou comment y arriver je suis preneur :o
Merci à tous !
Modifié par louyi (08 Oct 2020 - 13:50)
J'aimerais réaliser une app qui permettrai de filtrer en temps réel des produits selon des critères. Je suis débutant en programation et surtout en AJAX.
Dans l'idée c'est un peu comme un système de filtre que l'on retrouve un peu partout dans les magasins en ligne ; le nombre de produits diminue selon les filtres appliqués et que les articles apparaissent en temps réel.
Pour se faire j'ai réalisé un bdd MySQL avec des colonnes pour appliquer les filtres.
J'ai aussi réalisé ma requête préparée qui fonctionne avec le submit en PHP.
Question, AJAX est la solution?
Ça fait deux jours que je cherche et je ne voit pas d’exemple avec plusieurs conditions, uniquement des systèmes avec une liste déroulante (donc avec un seul critère).
Voici ma requête préparée:
$forme = $_POST['forme'];
$capacite = $_POST['capacite'];
$type_air = $_POST['type_air'];
$couleur = $_POST['couleur'];
$connected = $_POST['connected'];
$eclairage = $_POST['eclairage'];
$marque = $_POST['marque'];
$prix = $_POST['prix'];
$req = <<<EOF
SELECT
*
FROM
spa
WHERE
forme = (:forme)
AND
nombre_personne >= (:nombre_personne)
AND
type_air = (:type_air)
AND
couleur = (:couleur)
AND
connecte = (:connected)
AND
eclairage = (:eclairage)
AND
marque = (:marque)
AND
prix <= (:prix)
ORDER BY prix ASC
EOF;
$stmt = $database->prepare($req);
$stmt->bindValue('forme', $forme, PDO::PARAM_STR);
$stmt->bindValue('nombre_personne', $capacite, PDO::PARAM_INT);
$stmt->bindValue('type_air', $type_air, PDO::PARAM_STR);
$stmt->bindValue('couleur', $couleur, PDO::PARAM_STR);
$stmt->bindValue('connected', $connected, PDO::PARAM_STR);
$stmt->bindValue('eclairage', $eclairage, PDO::PARAM_STR);
$stmt->bindValue('marque', $marque, PDO::PARAM_STR);
$stmt->bindValue('prix', $prix, PDO::PARAM_INT);
if (!$stmt->execute()) {
echo "Erreur sur la selection";
} else {
$products = $stmt->fetchAll(PDO::FETCH_ASSOC);
};
Si vous avez des indications sur des tuto ou comment y arriver je suis preneur :o
Merci à tous !
Modifié par louyi (08 Oct 2020 - 13:50)