Création de pages de recherche et de résultats

Dernière mise à jour le 25 avr. 2024
Annotation

L’interface utilisateur a été simplifiée sous Dreamweaver et versions ultérieures. Par conséquent, il se peut que vous ne trouviez pas certaines options décrites dans cet article sous Dreamweaver et versions ultérieures. Pour plus d’informations, consultez cet article.

À propos des pages de recherche et de résultats

Vous pouvez utiliser Dreamweaver pour créer un ensemble de pages qui permettent aux utilisateurs de rechercher dans votre base de données et d'afficher les résultats de recherche.

Dans la plupart des cas, vous avez besoin d'au moins deux pages pour ajouter cette fonctionnalité à votre application web.La première page est une page qui contient un formulaire HTML dans lequel les utilisateurs saisissent les paramètres de recherche. Bien que cette page n'effectue aucune recherche proprement dite, elle est appelée page de recherche.

La deuxième page dont vous avez besoin est la page de résultats, qui effectue la plupart du travail. La page de résultats exécute les tâches suivantes :

  • Analyse des critères de recherche envoyés par la page de recherche

  • Etablissement d'une connexion à la base de données et recherche d'enregistrements

  • Création d'un jeu composé des enregistrements trouvés

  • Affichage du contenu du jeu d'enregistrements

    Vous pouvez aussi ajouter une page de détails. Une page de détails fournit aux utilisateurs plus d'informations sur un enregistrement particulier de la page de résultats.

    Si vous n'avez qu'un seul paramètre de recherche, Dreamweaver vous permet d'ajouter des fonctionnalités de recherche à votre application web sans utiliser de requêtes SQL et de variables.Concevez simplement vos pages et remplissez quelques boîtes de dialogue. Si vous avez plusieurs paramètres de recherche, vous devez écrire une instruction SQL et définir plusieurs variables pour celle-ci.

    Dreamweaver insère la requête SQL dans la page.Lorsque la page s'exécute sur le serveur, chaque enregistrement de la table de base de données est vérifié. Si le champ spécifié d'un enregistrement répond aux conditions de votre requête SQL, l'enregistrement est inclus dans un jeu d'enregistrements. La requête SQL crée en fait un jeu d'enregistrements contenant uniquement les résultats de recherche.

    Par exemple, le personnel de vente sur le terrain peut avoir des informations sur des clients dans une certaine zone qui ont des revenus supérieurs à un certain niveau. Dans un formulaire d'une page de recherche, le commercial saisit une zone géographique et un niveau de revenu minimum, puis clique sur le bouton Envoyer pour transmettre les deux valeurs à un serveur. Sur le serveur, les valeurs sont transmises à l'instruction SQL de la page de résultats, qui crée alors un jeu d'enregistrements contenant uniquement les clients de la zone spécifiée avec des revenus supérieurs au niveau spécifié.

Création de la page de recherche

Une page de recherche sur le Web contient généralement des champs de formulaire dans lesquels l'utilisateur saisit les paramètres de recherche.Au minimum, votre page de recherche doit avoir un formulaire HTML avec un bouton Envoyer.

Pour ajouter un formulaire HTML à une page de recherche, suivez la procédure suivante.

Ouvrez la page de recherche ou une nouvelle page, et sélectionnez Insertion > Formulaire > Formulaire.

Un formulaire vierge est créé sur la page. Vous devrez peut-être activer les éléments invisibles (Affichage > Assistants visuels > Éléments invisibles) pour voir les limites du formulaire, qui sont représentées par de fines lignes rouges.

Ajoutez des objets de formulaire permettant aux utilisateurs de saisir leurs paramètres de recherche en sélectionnant Formulaire dans le menu Insertion.

Les objets de formulaire incluent les champs de texte, les menus, les options et les boutons radio.Vous pouvez ajouter autant d'objets de formulaire que vous le souhaitez pour aider les utilisateurs à affiner leurs recherches. Gardez toutefois à l'esprit que plus le nombre de paramètres de recherche sur la page de recherche est élevé, plus votre instruction SQL sera complexe.

Ajoutez un bouton Envoyer au formulaire (Insertion > Formulaire > Bouton).
(Facultatif) Modifiez le libellé du bouton Envoyer en sélectionnant le bouton, en ouvrant l'inspecteur Propriété (Fenêtre > Propriétés) et en saisissant une nouvelle Value dans la zone Value.

Ensuite, vous indiquerez au formulaire où envoyer les paramètres de recherche lorsque l'utilisateur clique sur le bouton Envoyer.

Sélectionnez le formulaire en sélectionnant la balise <form> dans le sélecteur de balise en bas de la fenêtre Document, comme le montre l'image suivante :
Balise de formulaire

Dans la zone Action de l'inspecteur de propriétés du formulaire, saisissez le nom du fichier de la page de résultats qui effectuera la recherche dans la base de données.
Dans le menu contextuel Méthode, sélectionnez l'une des méthodes suivantes pour déterminer comment le formulaire envoie les données au serveur :
  • GET envoie les données du formulaire en les ajoutant à l'URL sous forme de chaîne de requête. Les URL étant limitées à 8 192 caractères, n'utilisez pas la méthode GET avec de longs formulaires.

  • POST envoie les données du formulaire dans le corps d'un message.

  • Default utilise la méthode par défaut du navigateur (généralement GET).

    La page de recherche est prête.

Création d’une page de résultats de base

Lorsque l'Utilisateur clique sur le bouton Rechercher du formulaire, les paramètres de recherche sont envoyés à une page de résultats sur le serveur.La page de résultats sur le serveur, et non la page de recherche sur le navigateur, est chargée de récupérer les enregistrements dans la base de données. Si la page de recherche soumet un seul paramètre de recherche au serveur, vous pouvez créer la page de résultats sans requêtes SQL ni variables. Vous créez un jeu d'enregistrements de base avec un filtre qui exclut les enregistrements qui ne répondent pas au paramètre de recherche soumis par la page de recherche.

Annotation

Si vous avez plusieurs conditions de recherche, vous devez utiliser la boîte de dialogue Jeu d'enregistrements avancée pour définir votre jeu d'enregistrements (voir Créer une page de résultats avancée).

Créez le jeu d'enregistrements pour stocker les résultats de recherche

Ouvrez votre page de résultats dans la fenêtre Document.

Si vous n'avez pas encore de page de résultats, créez une page dynamique vierge (Fichier > Nouveau > Page vierge).

Créez un jeu d'enregistrements en ouvrant le panneau Liaisons (Fenêtre > Liaisons), en cliquant sur le bouton Plus (+) et en sélectionnant Jeu d'enregistrements dans le menu contextuel.
Assurez-vous que la boîte de dialogue Jeu d’enregistrements simplifiée s’affiche à l’écran.
Boîte de dialogue Jeu d’enregistrements

Annotation

Si la boîte de dialogue avancée apparaît à la place, basculez vers la boîte de dialogue simple en cliquant sur le bouton Simple.

Attribuez un nom au jeu d’enregistrements et sélectionnez une connexion.

La connexion doit se faire à une base de données contenant les données dans lesquelles vous souhaitez que l'Utilisateur effectue une recherche.

Dans le menu contextuel Tableau, sélectionnez le tableau dans lequel effectuer la recherche dans la base de données.
Annotation

Dans une recherche à paramètre unique, vous ne pouvez rechercher des enregistrements que dans un seul tableau. Pour effectuer une recherche dans plusieurs tables à la fois, vous devez utiliser la boîte de dialogue Jeu d'enregistrements avancée et définir une requête SQL.

Pour inclure seulement certaines colonnes de la table dans le jeu d'enregistrements, cliquez sur Sélectionnées et sélectionnez les colonnes souhaitées en maintenant la touche Contrôle enfoncée et en cliquant (Windows) ou en maintenant la touche Commande enfoncée et en cliquant (Macintosh) sur ces colonnes dans la liste.

Vous ne devriez inclure que les colonnes contenant les informations que vous souhaitez afficher sur la page de résultats.

Laissez la boîte de dialogue Jeu d'enregistrements ouverte pour le moment. Vous l'utiliserez ensuite pour récupérer les paramètres envoyés par la page de recherche et créer un filtre de jeu d'enregistrements pour exclure les enregistrements qui ne répondent pas aux paramètres.

Création du filtre du jeu d’enregistrements

Dans le premier menu contextuel de la zone Filtre, sélectionnez une colonne dans la table de base de données dans laquelle rechercher une correspondance.

Par exemple, si la valeur envoyée par la page de recherche est un nom de ville, sélectionnez la colonne de votre table qui contient les noms de villes.

Dans le menu contextuel à côté du premier menu, sélectionnez le signe égal (ce devrait être la valeur par défaut).
Dans le troisième menu contextuel, sélectionnez Variable de formulaire si le formulaire de votre page de recherche utilise la méthode POST, ou Paramètre d'URL s'il utilise la méthode GET.

La page de recherche utilise soit une variable de formulaire soit un paramètre d'URL pour transmettre des informations à la page de résultats.

Dans la quatrième zone, entrez le nom de l'objet de formulaire qui accepte le paramètre de recherche sur la page de recherche.

Le nom de l'objet fait également office de nom de la variable de formulaire ou du paramètre d'URL. Vous pouvez obtenir le nom en basculant vers la page de recherche, en cliquant sur l'objet de formulaire sur le formulaire pour le sélectionner, et en vérifiant le nom de l'objet dans l'inspecteur de propriétés.

Par exemple, supposons que vous souhaitiez créer un jeu d'enregistrements qui inclut uniquement les voyages d'aventure vers un pays spécifique. Supposons qu’une colonne du tableau se nomme TRIPLOCATION Supposons également que le formulaire HTML de votre page de recherche utilise la méthode GET et contient un objet menu appelé Location qui affiche une liste de pays.L'exemple suivant montre à quoi devrait ressembler votre section Filtre :

Paramètres d’objets de formulaire

(Facultatif) Cliquez sur « Test », saisissez une valeur de test, puis cliquez sur « OK » pour vous connecter à la base de données et créer une instance du jeu d'enregistrements.

La valeur de test simule la valeur qui aurait autrement été renvoyée depuis la page de recherche. Cliquez sur OK pour fermer le recordset de test.

Si le jeu d’enregistrements vous convient, cliquez sur OK.

Un script côté serveur est inséré sur votre page qui vérifie chaque enregistrement dans la table de base de données lorsqu'il s'exécute sur le serveur. Si le champ spécifié dans un enregistrement remplit la condition de filtrage, l'enregistrement est inclus dans un jeu d'enregistrements. Le script crée un jeu d'enregistrements qui ne contient que les résultats de recherche.

L'étape suivante consiste à afficher le jeu d'enregistrements sur la page de résultats. Pour plus d'informations, consultez Affichage des résultats de recherche .

Création d’une page de résultats avancée

Si la page de recherche soumet plus d'un paramètre de recherche au serveur, vous devez écrire une requête SQL pour la page de résultats et utiliser les paramètres de recherche dans les variables SQL.

Annotation

Si vous n'avez qu'une seule condition de recherche, vous pouvez utiliser la boîte de dialogue Recordset simple pour définir votre recordset (voir Créer une page de résultats de base ).

Ouvrez la page de résultats dans Dreamweaver, puis créez un recordset en ouvrant le panneau Liaisons (Fenêtre > Liaisons), en cliquant sur le bouton Plus (+) et en sélectionnant Recordset dans le menu contextuel.
Assurez-vous que la boîte de dialogue Jeu d’enregistrements avancée s’affiche à l’écran.

La boîte de dialogue avancée comporte une zone de texte qui permet la saisie d’instructions SQL. Si la boîte de dialogue simple s'affiche, basculez vers la boîte de dialogue avancée en cliquant sur le bouton Avancé.

Attribuez un nom au jeu d’enregistrements et sélectionnez une connexion.

La connexion doit être établie avec une base de données contenant les données que l'utilisateur doit rechercher.

Saisissez l’instruction Select dans la zone de texte SQL.

Assurez-vous que l'instruction comprend une clause WHERE avec des variables pour contenir les paramètres de recherche. Dans l'exemple suivant, les variables s'appellent varLastName et varDept :

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

Pour réduire la saisie, vous pouvez utiliser l'arborescence des éléments de base de données située en bas de la boîte de dialogue Recordset avancée.Pour obtenir des instructions, voir Définir un recordset avancé en écrivant du SQL.

Pour obtenir de l'aide sur la syntaxe SQL, consultez l'introduction SQL à l'adresse www.adobe.com/go/learn_dw_sqlprimer.

Attribuez aux variables SQL les valeurs des paramètres de recherche en cliquant sur le bouton Plus (+) dans la zone Variables et en saisissant le nom de la variable, sa valeur par défaut (la valeur que la variable doit prendre si aucune valeur d'exécution n'est renvoyée) et sa valeur d'exécution (généralement un objet serveur contenant une valeur envoyée par un navigateur, comme une variable de requête).

Dans l'exemple ASP suivant, le formulaire HTML de la page de recherche utilise la méthode GET et contient un champ de texte appelé LastName et un autre appelé Department :

Exemple ASP

Dans ColdFusion, les valeurs d'exécution seraient #LastName# et #Department#.Dans PHP, les valeurs d’exécution seraient $_REQUEST["LastName"] et $_REQUEST["Department"].

(Facultatif) Cliquez sur Test pour créer une instance du recordset avec les valeurs de variable par défaut.

Les valeurs par défaut simulent les valeurs qui auraient été renvoyées par la page de recherche. Cliquez sur OK pour fermer le recordset de test.

Si le jeu d’enregistrements vous convient, cliquez sur OK.

La requête SQL est insérée dans votre page.

L'étape suivante consiste à afficher le recordset sur la page de résultats.

Affichage des résultats de la recherche

Après avoir créé un recordset pour contenir les résultats de recherche, vous devez afficher les informations sur la page de résultats. L'affichage des enregistrements peut consister simplement à faire glisser des colonnes individuelles du panneau Liaisons vers la page de résultats. Vous pouvez ajouter des liens de navigation pour avancer et reculer dans le recordset, ou créer une zone répétée pour afficher plusieurs enregistrements sur la page. Vous pouvez également insérer des liens sur une page d’informations détaillées.

Pour plus d'informations sur les méthodes d'affichage de contenu dynamique sur une page, autres que l'affichage de résultats dans un tableau dynamique, voir Affichage d'enregistrements de base de données.

Placez le point d'insertion à l'endroit où vous souhaitez que le tableau dynamique apparaisse sur la page de résultats, puis sélectionnez Insertion > Objets de données > Données dynamiques > Tableau dynamique.
Remplissez la boîte de dialogue Tableau dynamique en sélectionnant le recordset que vous avez défini pour contenir les résultats de recherche.
Cliquez sur OK. Un tableau dynamique qui affiche les résultats de recherche est inséré sur la page de résultats.

Créer une page de détail pour une page de résultats

Votre ensemble de pages de recherche et de résultats peut inclure une page de détail pour afficher plus d'informations sur des enregistrements spécifiques sur la page de résultats.Dans cette situation, votre page de résultats fait également office de gabarit de page dans un ensemble de pages maître-détail.

Vous pouvez créer un lien qui ouvre une page associée et qui transmet les paramètres existants à cette page. Le comportement de serveur n'est disponible que lors de l'utilisation du modèle de serveur ASP.

Avant d'ajouter un comportement de serveur « Atteindre une page associée » à une page, assurez-vous que la page reçoit des paramètres de formulaire ou d'URL d'une autre page.Le rôle du comportement de serveur est de transmettre ces paramètres à une troisième page. Par exemple, vous pouvez transmettre les paramètres de recherche reçus par une page de résultats à une autre page et éviter à l'utilisateur de saisir à nouveau les paramètres de recherche.

De plus, vous pouvez sélectionner du texte ou une image sur la page pour servir de lien vers la page associée, ou vous pouvez positionner votre pointeur sur la page sans rien sélectionner, et le texte du lien est inséré.

Dans la zone Atteindre une page associée, cliquez sur Parcourir et localisez le fichier de la page associée.

Si la page actuelle envoie des données à elle-même, entrez le nom de fichier de la page actuelle.

Si les paramètres que vous voulez transmettre ont été reçus directement d'un formulaire HTML utilisant la méthode GET, ou sont listés dans l'URL de la page, sélectionnez l'option Paramètres d'URL.
Si les paramètres que vous souhaitez transmettre ont été reçus directement d'un formulaire HTML utilisant la méthode POST, sélectionnez l'option Paramètres de formulaire.
Cliquez sur OK.

Lorsque l'utilisateur clique sur le nouveau lien, la page transmet les paramètres à la page associée à l'aide d'une chaîne de requête.