Page 1 sur 1

Filter

Posté : 24 juin 2019, 15:07
par yoann38
Bonjour, tout le monde,
voilà j'ai rajouter un petit menu permettant d'afficher seulement les voitures ou camion issu de la requete principale ci-dessous.
Je cherche du coup comment rajouter le parametre en + de la requete principal.
En gros si on renseigne rien ou tous ou ne change rien si on renseigne camion ou voiture on filtre selon le critère renseigné.
Je suis ok pour recharger la page mais je ne veut pas de bouton submit, seulement au click, Merci pour le coup de pied

<div class="switch-field">
<input type="radio" id="all" name="listing_filter" value="all" checked>
<label for="all">Tous</label>
<input type="radio" id="popular" name="listing_filter" value="voiture">
<label for="popular">Agences</label>
<input type="radio" id="latest" name="listing_filter" value="camion">
<label for="latest">Freelances</label>
</div>
// Tous les prestataires
$sql = $bdd->prepare("SELECT * FROM membres WHERE principale_activite = :categorie");
$sql->bindParam(':categorie', $_GET['categorie'], PDO::PARAM_INT);
$sql->execute();
$nb_de_site = $sql->rowCount();

Re: Filter

Posté : 24 juin 2019, 15:33
par Saian
Le coup de pouce plutôt non ? ^^

Si tu veux faire au clic des input radio, tu dois passer par javascript et l'évènement change. Tu pourras ainsi rappeler la page avec les paramètres nécessaires en plus et les intégrer à ta requête s'ils sont définis.

Re: Filter

Posté : 24 juin 2019, 15:34
par yoann38
le coup de pied c'est pour changer un peu ;)
Je me doutais de ca je regarde un peu sur gogole mais je trouver que avec formulaire

Re: Filter

Posté : 24 juin 2019, 15:46
par Saian
Je te propose quelque chose avec jquery parce qu'en javascript de base, malgré son évolution, ça fait longtemps que j'ai pas fait.
$('input[name="listing_filter"]').click(function () {
  window.location = 'adresse-de-la-page.php?listing_filter=' + $(this).val();
});
et dans le php tu récupères
$_GET['listing_filter']
A vérifier le retour de $(this).val() mais avec un bouton radio je pense que ça devrait bien être une chaine de caractère.
Y aurait surement plusieurs façons de faire, je suis parti sur le clic finalement car quand on clique un radio ça le sélectionne et on ne peut pas le désélectionner.