Filtrer des items en utilisant AJAX

a marqué ce sujet comme résolu.

Salut à tous !

J’ai perdu une journée de boulot à trouver comment filtrer simplement des réservations, et encore je n’ai pas totalement terminé… J’ai eu quelques soucis techniques dont certains étaient propres au CMS de mon agence, mais j’ai aussi été confronté au fait que je n’ai jamais réalisé de tel filtre jusque-là…

Je voulais avoir votre avis sur comment vous vous y prendriez.

Je dispose de deux tables, reservations dont l’une des colonnes contient une clef étrangère vers la seconde table, hôtel (id_hotel).

Initialement, l’utilisateur a une liste vide de réservations.

Il dispose de ces champs de filtre et de tri :

  1. Filtres : nom de l’hôtel (vide par défaut), date 1 (vide par défaut), date 2 (vide par défaut), état de la réservation (acceptée, refusée, toutes, rien par défaut)

  2. Tri : trier par nombre de places pour la réservation (ASC par défaut)

NB : date 1 et date 2 permettent de faire un BETWEEN pour trouver les réservations situées entre ces deux dates incluses.

Du coup ce que j’ai fait, c’est que je détecte les événements sur les champs en JS et je dis à l’interpréteur PHP situé sur le serveur de chercher en base les entrées adéquates, puis je rafraîchis la liste en JS. Donc ça se passe en AJAX.

Toute la difficulté se situe dans le mot : "adéquates".

Que doit-il se passer si l’utilisateur saisit un nom, mais laisse l’état vide ? Toutes les résas dont le nom d’hôtel contient cette saisie doivent s’afficher.

Mais que doit-il se passer si l’utilisateur ne saisit pas de nom et …

Et c’est là où je veux en venir : il y a plusieurs cas à gérer, et je crois me souvenir avoir été confronté à un cas particulier (il y en a peut-être d’autres, et je ne sais plus lequel c’était). Comment appréhender la chose ? Existe-t-il une API JS de filtre et de tri capable de communiquer avec ma base pour faire ce boulot à ma place ? Ça a l’air sacrément prise de tête… Et j’ai un Master pour info… Après c’est peut-être moi qui dois changer de métier.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte