Page de résultats : fonctionnement multicritère - tutorial moteur de recherche full text multi-critère avec Dreamweaver
Créez une page que vous nommerez "resultats.php"
Au sein de cette page, intégrez un tableau à 3 colonnes et 2 lignes. Les colonnes portent les titres suivants : Auteur, Titre et Editeur.
Créez un jeu d'enregistrements que vous paramétrerez de la façon suivante :
Ceci n'est que la base de notre requête… :-)
Passez en mode avancé du jeu d'enregistrements en cliquant sur le bouton correspondant. Il va nous falloir opérer des jointures de table (sur code_edit et code_aut) pour effectuer des recherches sur les mots correspondants. Par commodité et pour utiliser les fonctionnels Dreamweaver, nous allons effectuer des jointures "à l'ancienne". Si vous souhaitez utiliser cette technique sur des bases de données importantes et un site à fort trafic, vous devrez utiliser la syntaxe INNER JOIN.
Votre fenêtre se présente actuellement de la façon suivante :
Cliquez sur le signe + à coté de l'item "Tables" du champ "Eléments de la base de données" et développez les tables ouvrages, auteurs et éditeurs. Mettez en surbrillance alternativement les items titre, nom_editeur et nom_auteur et cliquez pour chaque sur le bouton "SELECT" : la requête SQL est automatiquement complétée comme suit :
SELECT ouvrages.titre, ouvrages.descriptif, auteurs.nom_auteur, editeurs.nom_editeur
FROM ouvrages, auteurs, editeurs
WHERE titre LIKE colname%
Pour effectuer les jointures de tables, mettez en surbrillance code_aut dans la table auteurs puis cliquez sur le bouton WHERE. Répétez la même opération dans la table ouvrages et remplacer dans le champ SQL le 2e "AND" par un "=". Recommencez cette procédure pour code_edit. Votre requête SQL doit maintenant ressembler à cela :
SELECT ouvrages.titre, auteurs.nom_auteur, editeurs.nom_editeur
FROM ouvrages, auteurs, editeurs
WHERE titre LIKE colname% AND auteurs.code_aut = ouvrages.code_aut AND editeurs.code_edit = ouvrages.code_edit
Nous allons maintenant ajouter les 2 critères de recherche supplémentaire : auteur et editeur qui proviennent des listes déroulantes du formulaire de recherche. Cliquez pour cela sur le bouton + du champ "Variables" de la fenêtre de jeu d'enregistrements. Paramétrez la fenêtre comme suit :
Recommencez encore une fois pour la variable auteur :
Retournez en mode designer. Nous allons maintenant permettre aux résultats de s'afficher dans le tableau.
Allez dans la palette "Liaisons" et déplier le jeu d'enregistrement que vous venez de créer. Faites cliquer/glisser les items titre, nom_auteur et nom_editeur dans les colonnes appropriées.
Sélectionner la balise <tr> qui contient les éléments de résultats du cliquer/glisser et choisissez "région répétée" dans l'onglet "comportements serveurs". Pour aller au plus simple, nous choisirons dans ce tutorial "Toutes".
Retournez dans la page recherche.php et sélectionnez la balise form. Indiquez dans le champ "Action" des propriétés le fichier resultats.php et lancez l'exécution du fichier sur votre serveur.
Il ne vous reste plus qu'à tester cette étape du développement pour vérifier si le multicritère fonctionne bien. Voici les résultats que vous devriez voir apparaître avec le choix "Livre de poche" dans le 2e menu déroulant.
Sommaire du tutorial