Remarque :

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

À propos des pages de recherche et de résultats

Vous avez la possibilité d’utiliser Dreamweaver pour créer un ensemble de pages permettant aux utilisateurs d’effectuer des recherches dans votre base de données et d’afficher les résultats de la recherche.

Dans la plupart des cas, pour intégrer cette nouvelle fonction dans votre application Web, un minimum de deux pages s’impose. La première page contient un formulaire HTML qui va servir à la saisie des critères de recherche. Même si aucune recherche n’est véritablement exécutée à ce niveau, on l’appelle toutefois « page de recherche ».

La deuxième page indispensable à la recherche est la page de résultats, qui permet d’effectuer 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

    L’insertion d’une page d’informations détaillées est également possible, en option. Une page d’informations détaillées donne des informations supplémentaires sur un enregistrement figurant dans une page de résultats.

    Si la recherche se fait sur la base d’un seul critère, Dreamweaver vous permet d’ajouter des fonctions de recherche à votre application Web sans utiliser de requêtes ni de variables SQL. Contentez-vous de créer vos pages et de compléter les champs des quelques boîtes de dialogue qui s’affichent à l’écran. Si la recherche dépend de plusieurs critères, il vous faut rédiger une instruction SQL pour laquelle vous définissez de multiples variables.

    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 la valeur du champ indiqué dans un enregistrement répond aux conditions de la requête SQL, l’enregistrement sera inclus dans le jeu d’enregistrements. La requête SQL en cours crée un jeu d’enregistrements contenant uniquement les résultats de la recherche.

    Par exemple, le service commercial peut détenir des renseignements sur les clients d’une zone particulière dont les revenus sont supérieurs à un niveau donné. Dans le formulaire d’une page de recherche, le responsable des ventes saisit un secteur géographique et un niveau de revenu minimum, puis clique sur le bouton Envoyer pour envoyer les deux valeurs à un serveur. Sur le serveur, les valeurs sont communiquées à l’instruction SQL de la page de résultats, qui crée ensuite le jeu d’enregistrements contenant uniquement les clients du secteur indiqué avec des revenus supérieurs au niveau donné.

Création de la page de recherche

Une page de recherche sur le Web se compose normalement de champs destinés à la saisie de critères particuliers. La page de recherche doit contenir au minimum un formulaire HTML et un bouton Envoyer.

Pour ajouter un formulaire HTML à une page de recherche, procédez comme suit :

  1. Ouvrez la page de recherche ou créez une nouvelle page, puis choisissez Insertion > Formulaire > Formulaire.

    Un formulaire vierge est créé sur la page. Il est parfois nécessaire d’activer les éléments invisibles (Affichage > Assistances visuelles > Eléments invisibles) pour afficher les contours du formulaire, représentés par de fines lignes rouges.

  2. Insérez des objets de formulaire afin de permettre aux utilisateurs de taper leurs critères de recherche en choisissant la commande Formulaire dans le menu Insertion.

    Les objets de formulaire sont de formes diverses : champs de texte, menus, options et boutons radio. La quantité d’objets qu’il est possible d’insérer dans un formulaire pour aider les utilisateurs à mieux cerner leurs recherches est quasi illimitée. Toutefois, n’oubliez pas que, plus le nombre de critères sur la page de recherche est grand, plus votre instruction SQL sera complexe.

  3. Ajoutez un bouton Envoyer au formulaire (Insertion > Formulaire > Bouton).
  4. (Facultatif) Pour changer l’étiquette du bouton Envoyer, sélectionnez ce bouton, ouvrez l’inspecteur Propriétés (Fenêtre > Propriétés) et entrez une nouvelle valeur dans la zone de texte Valeur.

    A présent, il convient d’informer le formulaire du lieu où envoyer les critères de recherche lorsque l’utilisateur clique sur le bouton Envoyer.

  5. Sélectionnez le formulaire à l’aide de la balise <form> dans le sélecteur de balises situé en bas de la fenêtre de document, comme le montre l’illustration suivante :
    Balise de formulaire
  6. Dans la zone Action de l’inspecteur Propriétés du formulaire, tapez le nom de fichier de la page de résultats effectuant la recherche proprement dite dans la base de données.
  7. Dans le menu déroulant Méthode, sélectionnez l’une des options suivantes pour déterminer comment les données du formulaire doivent être envoyées au serveur :
    • GET envoie les données en les annexant à l’URL, sous forme de chaîne de requête. Cependant, la taille des URL étant limitée à 8192 caractères, vous ne pouvez pas utiliser la méthode GET avec les formulaires longs.

    • POST envoie les données dans le corps d’un message.

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

      La page de recherche est terminée.

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

Lorsque l’utilisateur clique sur le bouton Rechercher du formulaire, les critères sont envoyés à une page de résultats sur le serveur. La charge de récupération des enregistrements dans la base de données incombe non pas à la page de recherche sur le navigateur, mais à la page de résultats sur le serveur. Si la page de recherche envoie un critère unique au serveur, vous pouvez créer la page de résultats sans requête ni aucune variable SQL. Vous créez un jeu d’enregistrements élémentaire auquel vous ajoutez un filtre qui supprime tous les enregistrements non conformes au critère envoyés par la page de recherche.

Remarque :

Si vous appliquez plusieurs conditions de recherche, utilisez la boîte de dialogue Jeu d’enregistrements avancée pour définir votre jeu (voir la section Création d’une page de résultats avancée ).

Création du jeu d’enregistrements contenant les résultats de la recherche

  1. Ouvrez la page de résultats dans la fenêtre de document.

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

  2. Créez un jeu d’enregistrements ; pour ce faire, ouvrez le panneau Liaisons (Fenêtre > Liaisons), cliquez sur le bouton Plus (+) et sélectionnez Jeu d’enregistrements dans le menu déroulant.
  3. Assurez-vous que la boîte de dialogue Jeu d’enregistrements simplifiée s’affiche à l’écran.
    Boîte de dialogue Jeu d’enregistrements

    Remarque :

    Si la boîte de dialogue avancée s’affiche à la place, cliquez sur le bouton Simple pour ouvrir sa version simplifiée.

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

    La connexion doit être établie avec une base de données contenant des informations susceptibles d’intéresser l’utilisateur.

  5. Dans le menu déroulant Table, sélectionnez le tableau à consulter dans la base de données.

    Remarque :

    Si la recherche implique un seul critère, vous ne pouvez consulter des enregistrements que dans un seul tableau. Pour consulter plusieurs tableaux simultanément, utilisez la boîte de dialogue Jeu d’enregistrements avancée et définissez une requête SQL.

  6. Pour inclure uniquement certaines colonnes de la table dans le jeu d’enregistrements, cliquez sur Sélectionnées, puis sélectionnez les colonnes souhaitées dans la liste tout en maintenant la touche Ctrl (Windows) ou Commande (Macintosh) enfoncée.

    Il est préférable d’inclure uniquement les colonnes qui contiennent des informations que vous souhaitez afficher dans la page de résultats.

    Pour le moment, ne fermez pas la boîte de dialogue Jeu d’enregistrements. Vous l’utiliserez lors de l’étape suivante pour récupérer les critères envoyés par la page de recherche et pour créer un filtre destiné à exclure tous les enregistrements non conformes aux critères de recherche.

Création du filtre du jeu d’enregistrements

  1. Dans le premier menu déroulant de la zone Filtre, sélectionnez la colonne de la table de base de données dans laquelle effectuer la recherche.

    Par exemple, si la valeur envoyée par la page de recherche est le nom d’une ville, sélectionnez la colonne qui répertorie des noms de ville.

  2. Dans le menu déroulant situé à côté du premier menu, sélectionnez le signe égal (=) (en principe, la valeur par défaut).
  3. Dans le troisième menu déroulant, choisissez Variable de formulaire ou Paramètre d’URL, selon que vous empruntez les méthodes POST ou GET, respectivement.

    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.

  4. Dans la quatrième zone, entrez le nom de l’objet de formulaire qui accepte le critère sur la page de recherche.

    Le nom de l’objet fait aussi fonction de nom pour la variable de formulaire ou le paramètre d’URL. Pour obtenir ce nom, revenez à la page de recherche, cliquez sur l’objet de formulaire pour le sélectionner et prenez note du nom qui s’affiche dans l’inspecteur Propriétés.

    Par exemple, vous désirez créer un jeu d’enregistrements comprenant uniquement les raids et randonnées dans un pays particulier. Supposons qu’une colonne du tableau se nomme TRIPLOCATION et que le formulaire HTML de votre page de recherche utilise la méthode GET et contienne un objet de menu nommé Location qui affiche une liste de pays. L’exemple suivant indique à quoi peut ressembler votre section de filtre :

    Paramètres d’objets de formulaire
  5. (Facultatif) Cliquez sur Tester, tapez une valeur test, puis cliquez sur OK pour vous connecter à la base de données et créer une instance du jeu d’enregistrements.

    La valeur test est une simulation de la valeur qui sans cela aurait été renvoyée de la page de recherche. Cliquez sur OK pour fermer le jeu d’enregistrements test.

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

    Un script côté serveur est inséré sur votre page ; lorsqu’il est exécuté sur le serveur, il vérifie chaque enregistrement de la table de base de données. Si la valeur du champ indiqué dans un enregistrement répond aux conditions de filtrage, l’enregistrement sera inclus dans le jeu d’enregistrements. Le script crée un jeu d’enregistrements qui ne contient que les résultats de la recherche.

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

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

Si la page de recherche envoie plusieurs critères au serveur, il vous faut formuler une requête SQL pour la page de résultats et intégrer les critères de recherche dans les variables SQL.

Remarque :

Si vous n’appliquez qu’une seule condition de recherche, utilisez la boîte de dialogue Jeu d’enregistrements simplifiée pour définir votre jeu (voir la section Création d’une page de résultats de base ).

  1. Ouvrez la page de résultats sous Dreamweaver, puis créez un jeu d’enregistrements. Pour ce faire, ouvrez le panneau Liaisons (Fenêtre > Liaisons), cliquez sur le bouton Plus (+) et choisissez Jeu d’enregistrements dans le menu déroulant.
  2. 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 simplifiée s’affiche à la place, cliquez sur le bouton Avancé pour ouvrir sa version avancée.

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

    La connexion doit être établie avec une base de données contenant des informations susceptibles d’intéresser l’utilisateur.

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

    Assurez-vous que l’instruction comporte une clause WHERE avec des variables pour stocker les critères de recherche. Dans l’exemple suivant, les variables sont varLastName et varDept :

    SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬ 
    WHERE LASTNAME LIKE 'varLastName' ¬ 
    AND DEPARTMENT LIKE 'varDept'

    Pour limiter la frappe, utilisez l’arborescence des éléments de la base de données située dans la partie inférieure de la boîte de dialogue Jeu d’enregistrements avancée. Pour obtenir des instructions, consultez la section Rédaction d’instructions SQL en vue de la définition d’un jeu d’enregistrements avancé.

    Pour plus d’informations sur la syntaxe SQL, consultez le guide Initiation à SQL à l’adresse www.adobe.com/go/learn_dw_sqlprimer_fr.

  5. Donnez aux variables SQL les valeurs des critères de recherche. Pour ce faire, cliquez sur le bouton Plus (+) dans la zone Variables, puis tapez le nom de la variable, sa valeur par défaut (valeur que doit prendre la variable si aucune valeur d’exécution n’est renvoyée) et sa valeur d’exécution (généralement un objet de serveur renfermant une valeur envoyée par un navigateur, telle qu’une variable de demande).

    Dans l’exemple ASP suivant, le formulaire HTML sur la page de recherche utilise la méthode GET et contient deux champs de texte, « LastName » et « Department ».

    Exemple ASP

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

  6. (Facultatif) Cliquez sur Tester pour créer une instance du jeu d’enregistrements à l’aide des valeurs de variable par défaut.

    Les valeurs par défaut sont une simulation des valeurs qui sans cela auraient été renvoyées de la page de recherche. Cliquez sur OK pour fermer le jeu d’enregistrements test.

  7. 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 jeu d’enregistrements sur la page de résultats.

Affichage des résultats de la recherche

Après avoir créé un jeu d’enregistrements pour y insérer les résultats de la recherche, vous devez afficher les informations sur la page de résultats. L’affichage des enregistrements est une opération simple : il suffit de faire glisser des colonnes individuelles du panneau Liaisons vers la page de résultats. Ajoutez au choix des liens de navigation pour aller et venir dans le jeu d’enregistrements, ou créez une région répétée si vous préférez 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 du contenu dynamique sur une page autres que l’affichage de résultats dans un tableau dynamique, consultez la section Affichage d’enregistrements d’une base de données.

  1. Placez le point d’insertion à l’endroit où vous souhaitez que le tableau dynamique apparaisse dans la page de résultats, puis sélectionnez Insertion > Objets de données > Données dynamiques > Tableau dynamique.
  2. Dans la boîte de dialogue Tableau dynamique, sélectionnez le jeu d’enregistrements que vous avez défini afin de présenter les résultats de recherche.
  3. Cliquez sur OK. Un tableau dynamique contenant les résultats de la recherche est inséré sur la page de résultats.

Création d’une page de détails pour une page de résultats

Vos pages de recherche et de résultats peuvent inclure une page comportant des informations détaillées à propos d’enregistrements spécifiques répertoriés dans la page de résultats. Dans ce cas, la page de résultats fait également fonction de page principale dans un ensemble de pages principale/détails.

Vous pouvez créer un lien qui ouvre une page associée et transmet à cette dernière les paramètres existants. Vous ne pouvez recourir au comportement de serveur que si vous utilisez le modèle de serveur ASP.

Avant d’ajouter un comportement de serveur Aller à la page associée à une page, assurez-vous que la page reçoit les paramètres de formulaire ou d’URL d’une autre page. Le rôle du comportement de serveur consiste à transmettre ces paramètres à une troisième page. Vous pouvez, par exemple, communiquer les critères de recherche reçus par une page de résultats à une autre page, de manière à ce que l’utilisateur n’ait pas à les taper plusieurs fois.

Sur la page, vous pouvez également sélectionner du texte ou une image devant assurer la fonction de lien ou placer le pointeur sans ne rien sélectionner pour que le texte du lien soit inséré.

  1. Dans la zone de texte Aller à la page associée, cliquez sur Parcourir et localisez le fichier de la page associée.

    Si la page active s’envoie des données à elle-même, tapez son nom de fichier.

  2. Si les critères à communiquer ont été directement reçus d’un formulaire HTML via la méthode GET ou qu’ils figurent dans l’URL de la page, choisissez l’option Paramètres d’URL.
  3. Si les critères à communiquer ont été directement reçus d’un formulaire HTML via la méthode POST, choisissez l’option Paramètres de formulaire.
  4. Cliquez sur OK.

    Lorsque vous cliquez sur le nouveau lien, la page transmet les critères à la page associée par le biais d’une chaîne de requête.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne