Jump to content

[AJAX] Affichage dynamique des résultats d'une recherche


Recommended Posts

Bonjour,

j'ai réalisé un moteur de recherche pour une boutique de e-Commerce (Cadeau Maestro - Trouver un cadeau).

Le nouveau projet que j'ai est d'afficher dynamiquement les résultats de la recherche, donc sans rechargement de la page.
Dans un premier temps, l'affichage dynamique se fera après clic sur le bouton "Trouvez-moi un cadeau".
Dans un second temps, l'affichage devra être plus dynamique, càd, dès que l'utilisateur aura rempli un critère.

Le plugin Filter Search fait ça, mais dans sa version gratuite, impossible de personnaliser les critères de filtrage des produits. De plus, le code est vraiment trop compliquer à comprendre, et je pense qu'il sera plus facile pour moi de faire quelque chose de nouveau et de personnalisé plutôt que d'essayer de se baser sur un code complexe type "usine à gaz".


Fonctionnement actuel
L'utilisateur saisit des critères, mon algo construt la requête SQL, puis cette ligne (apparemment, propriétaire àh PrestaShop) :

$result = Db::getInstance()->ExecuteS($sql);



se charge d'exécuter la requête SQL et de placer les résultats dans le tableau $result.


Fonctionnement envisagé
J'aimerais récupérer uniquement certaines infos du tableau et les stocker dans un arbre XML (ou JSON) personnalisé, qui contiendrait : nom du produit, prix, photo, lien vers la page de l'article. Ensuite, un objet XMLHttpRequest explorerait cet arbre pour afficher les produits trouvés de la manière que je souhaite. Pour utiliser cet objet, je me base sur ce tutoriel du SdZ.

Lors d'une recherche, seules les photos des produits s'afficheraient. Lorsque l'utilisateur passe la souris sur une photo, s'affiche une infobulle avec nom et prix, Lorsque l'utilisateur clique sur une photo, il est emmené vers la page de l'article. En fait, à la manière de ce site.


Bref, voilà mes questions :

- comment sont organisées les infos renvoyées dans le tableau $result ?

- comment sélectionner uniquement certaines infos ?

- trouvez-vous que ma méthode est trop compliquée, réalisable, pensez-vous à une autre manière de procéder... ?

Merci à tous pour votre aide !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...