Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Dreamgratuit - Philosophie
31 juillet 2009

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 :

result1

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 :

result2

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 :

result3

Recommencez encore une fois pour la variable auteur :

result4

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.

result5

Sommaire du tutorial

  1. Introduction : concept de full text
  2. Structure et paramétrage de la base
  3. Création de la page de recherche
  4. Page de résultat : fonctionnement multi-critère
  5. Implémentation du full text
Publicité
Commentaires
D
Bonjour,<br /> <br /> la solution est en fait de mettre le nom "colname" à chaque variable puis "2" et "3" comme valeur par défaut, au lieu de "%".<br /> <br /> <br /> <br /> Au cas où, passez vos codes pjp dans un convertisseur Mysql > Mysqli pour être compatible
K
j'ai bien suivi et je ne semble pas avoir les mêmes problèmes que les amis plus haut. Seulement à la fin, il y a une erreur de DW qui dit qu'il y a erreur de syntax liée à la version. J-utilise DW CS6. Merci de m'éclairer
B
Bonsoir<br /> <br /> Je n'ai pas eu de réponse au sujet du moteur de recherche. Je bloque au niveau du Colname 2 et Colname 3. Si vous avez la solution ?<br /> <br /> <br /> <br /> Autre question : Ou est passé Jean-Pierre? J'ai suivi pas mal de tutoriaux avec lui sans aucun soucis?<br /> <br /> <br /> <br /> Jean-Pierre, reviens s'il te plaît
B
Problème également avec colname2 et colname3<br /> <br /> <br /> <br /> Je travaille sur dreamweaver MX 2004<br /> <br /> <br /> <br /> Si vous pouvez éclairer ma lanterne<br /> <br /> <br /> <br /> Merci
P
Bonjour,<br /> <br /> Moi aussi je rencontre le même problème avec colname2 et colname3 avec une version CS6. Que faire?
Archives
Publicité
Publicité