Moteur de recherche interne sur mon site

[Fermé]
Signaler
Messages postés
1
Date d'inscription
mercredi 6 juillet 2016
Statut
Membre
Dernière intervention
6 juillet 2016
-
Messages postés
1143
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
31 juillet 2019
-
Bonjour à tous,
je cherche de l'aide pour le problème suivant:

J'ai créé un site internet pro pour les gens d'une profession bien précise.
Je gère très bien toutes les pages sauf une.
Cette page doit permettre au visiteur qui le souhaite d'entrer dans un champs de recherche soit un nom, soit une ville, soit un code postal afin de retrouver les coordonnées d'une société. J'ai un fichier excel contenant la base de données de toutes les sociétés que le visiteur est susceptible de chercher.
J'ai créé la base de données sql dans phpmyadmin: chaque colonne est un champs, ca c'est bon.
Je cherche maintenant un code html ou javascript à insérer à l'endroit désiré pour afficher le cadre de recherche et le rendre fonctionnel avec cette bdd.
Et cerise sur le gâteau, j'aimerais que le résultat de la recherche apparaisse en-dessous du cadre de recherche.

Je sais que je vais rendre certaines personnes de mauvaise humeur en disant ça mais j'utilise le nouveau programme WebAcappella Responsive Design pour la création de mon site. Donc ceci explique que je ne sois pas très à l'aise avec la programmation et que le langage trop technique ne m'est pas familier; donc un peu d'indulgence s'il vous plait ;-)

Merci d'avance à ceux qui prendront la peine de me lire et certainement à ceux qui auront l'amabilité de m'aider.

4 réponses

Messages postés
33471
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 septembre 2021
3 717
Bonjour,


Je cherche maintenant un code html ou javascript à insérer à l'endroit désiré pour afficher le cadre de recherche et le rendre fonctionnel avec cette bdd.


Le Javascript s'exécute côté client (poste utilisateur). Il est interprété par le navigateur internet et permet, entre autres choses, de manipuler le DOM (Document Object Model : la représentation en objets de la page web).
NB : Il n'est pas possible d'interroger une base de données directement en JavaScript.


Pour manipuler une base de données... il te faudra utiliser un langage serveur. (comme le PHP par exemple).



Messages postés
82
Date d'inscription
vendredi 27 novembre 2015
Statut
Membre
Dernière intervention
23 octobre 2018
7
Bonjour,

Un moteur de recherche est un ensemble :

- un formulaire "classique" où poser sa question
- une page pour récupérer la donnée du formulaire et une faire une requête sql afin de ramener la réponse qui est dans la bdd...
Pour la requête :
SELECT * FROM votre_table WHERE  le_nom_de_votre_colonne LIKE '%$requete%' 

Si la requête s'effectue sur plusieurs colonnes, il suffit d'ajouter, à la suite :
OR le_nom_de_votre_2e_colonne LIKE '%$requete%'
OR le_nom_de_votre_3e_colonne LIKE '%$requete%'
etc.

puis, vous récupérez normalement votre ou vos résultats.
Messages postés
1143
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
31 juillet 2019
110
Bonjour !

En effet, comme l’ont dit les autres, si tu veux communiquer avec une base de données il te faudra un langage serveur.

Mais on peut aussi imaginer que ton fichier Excel est fixe, ou presque, et donc que, comme l’ensemble de ton site, tu n’as pas besoin qu’elle soit dynamique (peu de mise à jour et par peu d’utilisateurs).
Dans ce cas, un moteur de recherche Javascript est envisageable.
X-search est un script qui a été développé dans cet optique.

Attention, c’est un script qui date de l’an 2000... Utiliser un script PHP est sans doute plus raisonnable, j’avais juste envie de contredire le fait que ce n’était pas possible en HTML/Javascript : JS est tout à fait capable de rechercher dans un fichier, un serveur de BDD n’est pas strictement nécessaire. :P

Salut,

déjà commencez par savoir de quoi vous parlez:

https://fr.wikipedia.org/wiki/Page_web


Si vous voulez faire vous même (à l'instar de web accapela qui est un programme tout fait et que vous modifier pour s'adapter à vos besoins au lieu de l'inverse: que le programme soit définit en fonction de vos besoins) il vuos faut apprendre les technologies utilisées.

Pour un moteur de recherche et les pages web dynamiques en général(web dynamique = allez voir sur Google) il y a 3 parties qui se complètent.
Cette façon de faire délimite l'accès à la base de données par le programme fonctionnant sur le serveur(PHP, ASP, ...) qui fait la liaison entre le client et la base.

HTML n'est pas de la programmation, c'est en tout point semblable à un traitement de texte en plus simple.

HTML est (comme javascript) traité par le navigateur donc côté client.
HyperText Mark up Language c'est la base mais ne permet de faire que des pages (dites) statiques. Leur contenu est fixe et invariable sauf en modifiant soi même le texte du fichier ce qui est bien sûr inconcevable pour des modifications régulières.

Le fonctionnement hypertexte et les bases de la création de pages web sont bien sûr indispensables et nécessite déjà bien un peu de pratique bien que le principe soit très simple et n'ait rien à voir avec la programmation.

Pour le reste il y a SQL qui est le langage de programmation (ou requête) de bas niveau(simpliste et avec peu de fonctions) des bases de données. C'est aussi du texte(langage de programmation script) qui peut être rentré directement dans la console de la base de données.

PHP(parmi les langages de programmation sur serveur) est interprété par un serveur Apache/Tomcat. Il faut donc avoir celui à disposition (la grande majorité des hébergeurs). Le rôle essentiel de ce langage(PHP ou autre) est de récupérer les informations nécessaires auprès de la base(SQL) et les fournir à la page(HTML) ou inversement dans le cas des formulaires.
Un formulaire est comme son nom l'indique le moyen de récupérer des informations du côté du client.

Celles ci une fois récupérées doivent être transmise et traitées par le programme(fichier script en langage serveur).

Mais de grâce n'employez plus des mots sans savoir ce qu'ils veulent dire:
HTML , javascript...

Le premier n'est pas un langage de programmation mais le moyen d'afficher la page et ses contenus(textes, images, musique...).
Javascript est un langage qui sert à beaucoup de choses mais côté client(en omettant node.js car ce n'est pas le sujet et très spécifique).
Donc côté client= impossible de communiquer avec le serveur. AJAX étant une solution nécessité pour cela et permet de ne pas multiplier des requêtes quand ce n'est pas nécessaire en rendant l'affichage(HTML) des contenus(les données de la base) asynchrone(par des requêtes en langage serveur qui anticipent les besoins par ex.).