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.
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é.
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 :
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.
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.
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.
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.
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.
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 ).
Si vous n’avez pas encore créé de page de résultats, créez une page dynamique vierge (Fichier > Nouveau > Page vierge).
Si la boîte de dialogue avancée s’affiche à la place, cliquez sur le bouton Simple pour ouvrir sa version simplifiée.
La connexion doit être établie avec une base de données contenant des informations susceptibles d’intéresser l’utilisateur.
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.
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.
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.
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.
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 :
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.
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 .
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.
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 ).
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.
La connexion doit être établie avec une base de données contenant des informations susceptibles d’intéresser l’utilisateur.
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.
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 ».
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"].
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.
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.
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.
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é.
Si la page active s’envoie des données à elle-même, tapez son nom de fichier.
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.
Accéder à votre compte