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

Création de la page de recherche – tutorial moteur de recherche full text multi-critère avec Dreamweaver

Dans cet article, nous allons construire notre formulaire de recherche.

Tout d'abord peuplons la base de données pour nos futurs tests. Je vous donne à titre d'exemple ma propre base de données de test. Pour que ces test soient probants, il nous faut impérativement une masse de texte assez importante pour éprouver la recherche full text. Donc, pour la table auteurs :

INSERT INTO `test_base`.`auteurs` (`id_auteur` ,`nom_auteur` ,`code_aut`)
VALUES
(NULL , 'Balzac', 'au01'),
(NULL , 'Flaubert', 'au02'),
(NULL , 'Maupassant',  'au03'),
(NULL , 'Voltaire', 'au04'),
(NULL , 'Zola', 'au05');

Pour la table éditeurs :

INSERT INTO `test_base`.`editeurs` (`id_editeur` ,`nom_editeur` ,`code_edit` )
VALUES
(NULL , 'Folio', 'ed01'),
(NULL , 'Livre de poche', 'ed02');


Pour la table ouvrages :

INSERT INTO `test_base`.`ouvrages` (`id_ouvrage` ,`titre` ,`descriptif` ,`date_parution` ,`code_edit` ,`code_aut` )
VALUES
(NULL, 'La Cousine Bette', 'La Cousine Bette est un roman d’Honoré de Balzac, paru pour la première fois en feuilleton dans le Constitutionnel d’octobre à décembre 1846. Publié en volume en 1847, il fait partie des Scènes de la vie parisienne, section Les Parents pauvres de la Comédie humaine.
C’est le premier portrait de femme profondément destructrice, rancunière et laide que Balzac ait produit. Même madame de Saint-Estève, la tante de Jacques Collin, alias Vautrin, a quelques caractéristiques émouvantes. La cousine Bette n’en a aucune. Apparentée à un animal malfaisant « ses sourcils épais réunis par un bouquet, sa face longue et simiesque laissent deviner derrière la paysanne des Vosges un caractère de sauvage ».
Et c’est bien d’une sauvage qu’il s’agit. La cousine est animée d’une rage et d’une passion impuissante qui gaspille une énergie folle à nuire sans recueillir les fruits de ses intrigues, pourtant patiemment élaborées, telle une araignée tissant sa toile. Ce roman est un des chefs d’œuvre de la Comédie humaine. Le roman-feuilleton devient ici tragédie classique avec une forme d’expression littéraire beaucoup plus moderne.', '2007-01-18', 'ed01', 'au01'),
(NULL, 'Le Père Goriot', 'Le Père Goriot est un roman d’Honoré de Balzac, écrit en 1834, dont la publication commence dans la Revue de Paris et qui paraît en 1835 en librairie. Il fait partie des Scènes de la vie privée de la Comédie humaine. Le Père Goriot établit les bases de ce qui deviendra un véritable édifice : la Comédie humaine, construction littéraire unique en son genre, avec des liens entre les volumes, des passerelles, des renvois.', '2008-04-15', 'ed02', 'au01'),
(NULL , 'L''Education sentimentale', 'L’Éducation sentimentale, histoire d’un jeune homme est un roman écrit par Gustave Flaubert, et publié en 1869.
Le cœur du récit est tiré du roman de Sainte-Beuve : Volupté, qu’Honoré de Balzac avait déjà traité et d’une certaine manière réécrit avec le Lys dans la vallée. Le roman de Flaubert reprend le même sujet[1] selon des règles narratives entièrement neuves, réinventant le roman d'apprentissage pour lui donner une profondeur et une acuité jamais atteinte. Malgré une critique négative lors de sa parution, il est devenu, depuis Proust, un livre de référence pour les romanciers du XXe siècle.
Le roman, rédigé à partir de septembre 1864 et achevé le 16 mai 1869 au matin, comporte de nombreux éléments autobiographiques (tels la rencontre de Madame Arnoux, inspirée de la rencontre de Flaubert avec Élisa Schlésinger). Il a pour personnage principal Frédéric Moreau, jeune provincial de dix-huit ans venant faire ses études à Paris. De 1840 à 1867, celui-ci connaîtra l’amitié indéfectible et la force de la bêtise, l’art, la politique, les révolutions d’un monde qui hésite entre la monarchie, la république et l’empire. Plusieurs femmes [Rosanette, Mme Dambreuse] traversent son existence, mais aucune ne peut se comparer à Marie Arnoux, épouse d’un riche marchand d’art, dont il est éperdument amoureux. C’est au contact de cette passion inactive et des contingences du monde qu’il fera son éducation sentimentale, qui se résumera pour l’essentiel à brûler, peu à peu, ses illusions.
Le personnage de Frédéric, sans doute inspiré à Flaubert, pour une bonne part, par ses propres expériences de jeunesse, est aussi la figure définitive d'une génération nourrie par le courant d'idées romantique le plus large. Ainsi, en même temps qu'il exalte la pureté de son amour pour Madame Arnoux, celle-ci empêche Frédéric de choisir la moindre situation dans une société, celle du Second Empire, qui mise beaucoup sur la carrière et l'idée de parvenir. En cela, Frédéric est ce que Marthe Robert a nommé le "Bâtard moyen", plein de rêves qui le détournent de l'action, en opposition avec le Bâtard de l'époque de Napoléon, où conquérir le pouvoir était à la portée de toute volonté, immortalisé par Balzac avec le personnage de Rastignac.', '2007-02-06', 'ed01', 'au02'),
(NULL , 'Salambo', 'Salammbô est un roman historique de Gustave Flaubert, paru en 1862 chez Michel Lévy.
Il prend pour sujet la Guerre des Mercenaires, IIIe siècle av. J.-C., qui opposa la ville de Carthage avec les Mercenaires barbares qu’elle avait employés pendant la première Guerre punique, et qui se révoltèrent, furieux de ne pas avoir reçu la solde convenue. Flaubert chercha à respecter l’Histoire connue, mais profita du peu d’informations disponibles pour décrire un Orient à l’exotisme sensuel et violent.', '2006-06-12', 'ed02', 'au02'),
(NULL , 'Le Horla', 'Le Horla est une nouvelle fantastique de Maupassant écrite en en 1887. C’est un des premiers récits fantastiques que Maupassant a écrits. Le Horla se présente sous la forme d’un journal inachevé qui laisse craindre que son propriétaire n’ait sombré dans la folie. Le Horla marque les prémices de la folie de son auteur, Guy de Maupassant, qui mourra 6 ans plus tard, dans une paranoïa et une folie totale.', '2009-04-07', 'ed02', 'au03'),
(NULL , 'Candide', 'Candide, ou l’Optimisme est un conte philosophique de Voltaire paru à Genève en janvier 1759. Il a été réédité vingt fois du vivant de l’auteur (plus de cinquante aujourd’hui) ce qui en fait un des plus grands succès littéraire français. Anonyme en 1759, Candide est attribué à un certain « Monsieur le Docteur Ralph » en 1761, à la suite du remaniement du texte par Voltaire. Ce titre ronflant donne tout de suite le ton au lecteur qui pourrait hésiter sur le genre de l’ouvrage : conte ou essai ? Art mineur ou art noble ? L’auteur prend, dès les premières lignes, position contre la noblesse aux titres bien plus ronflants que celui-ci. Et que dire du nom du soi-disant docteur Ralph ? Rien de plus qu’une onomatopée qui ne laisse aucun doute sur le ton de cette œuvre (voir Thunder-Ten-Tronckh, le château de la situation initiale). Cette œuvre si ironique dès les premières lignes, ne laisse aucun doute sur l’origine de l’auteur, qui ne pouvait faire partie que des Lumières. Et de là à penser à Voltaire, le doyen des Philosophes, pour le lecteur du XVIIIe siècle, il n’y a qu’un pas. Le plus achevé des contes de Voltaire, il s’agit également d’un roman de formation.', '2009-05-04', 'ed01', 'au04')
(NULL , 'Au Bonheur des dames', 'Au Bonheur des Dames est un roman d’Émile Zola publié en 1883, le onzième volume de la suite romanesque les Rougon-Macquart. À travers une histoire sentimentale à l’issue inhabituellement heureuse, le roman entraîne le lecteur dans le monde des grands magasins, l’une des innovations du Second Empire. Le modèle du personnage d'Octave Mouret est Auguste Hériot, co-fondateur des Grands Magasins du Louvre.', '2006-10-22', 'ed01', 'au05');

La construction du formulaire de recherche est assez simple.

  1. Créez une page que vous nommerez recherche.php
  2. Créez une connexion à la base de données. Dans ce tutorial, nous la nommons comme d'habitude maConnexion.
  3. Insérez un jeu d'enregistrement rs_auteur dont vous paramétrez la fenêtre de la façon suivante :
    rs_auteur
  4. Insérez un jeu d'enregistrement rs_editeur dont vous paramétrez la fenêtre de la façon suivante :
    rs_editeur
  5. Créer un formulaire comportant un champ texte dont le nom est "recherche", un menu déroulant dont le nom est "VARauteur" et un menu déroulant dont le nom est "Varediteur".
  6. Le code source de votre formulaire doit ressembler à ceci :
    <form method="post" id="form1" action="resultat.php">
    <fieldset>
    <p>
    <label>Rechercher : </label>
    <input name="recherche" type="text" id="recherche" size="50" />
    </p>
    <p>
    <label>Auteur : </label>
    <select name="VARauteur" id="VARauteur">
    </select>
    </p>
    <p>
    <label>Editeur : </label>
    <select name="VARediteur" id="VARediteur">
    </select>
    </p>
    <p>
    <input type="submit" name="envoi" id="envoi" value="Envoyer" />
    </p>
    </fieldset>
    </form>
  7. Sélectionnez le menu VARauteur et cliquez sur le bouton "dynamique" dans l'onglet des propriétés. Paramétrez la fenêtre comme suit pour récupérer les données de la table auteurs  :
    liste_auteur
    La 1re valeur de la liste, "--- Tous les auteurs---", comporte le préfixe commun à tous les codes auteur (colonne code_aut dans la base) auquel on ajoute l'opérateur de troncature de MySQL, %. Ainsi si cet item reste sélectionné, c'est bien sur l'ensemble des auteurs que la recherche s'effectuera.
  8. Procédez de la même façon pour la liste VARediteur :
    liste_editeur
    La 1re valeur de la liste, "--- Tous les éditeurs---", comporte le préfixe commun à tous les codes éditeurs (colonne code_edit dans la base) auquel on ajoute l'opérateur de troncature de MySQL, %. Ainsi si cet item reste sélectionné, c'est bien sur l'ensemble des éditeurs que la recherche s'effectuera.
  9. Rajouter maintenant un peu de "styles" à votre formulaire :)
    <style type="text/css">
    h1 {
                text-align:center;}
    form {
                margin: 0 33%;
    }
    fieldset {
                padding: 15px;
                border: 1px solid #F00;
    }
    label {
                display:inline;
                float:left;
                width: 125px;
                font: bold 12px "Trebuchet MS", Arial, Helvetica, sans-serif;
    }
    </style>

Vérifiez que tous fonctionne correctement dans votre navigateur. Au final, vous devriez obtenir ceci :

ecran_rech

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
K
Slt, j'ai consulté ce tuto qui apparammant a résisté au temps et je l'ai trouvé très éditifiant pour ma personne vue que je rencontreexactement le problème abordé par le tuto. Depuis plus d'un moi je parcours les forums et le net pour y trouver de solution.<br /> <br /> Alors quand je suis tombé sur ceci, j'ai poussé un ouf de soulagement. Mais non, il se pose à moi après le tuto, le problème quant à l'affichage des résultats. La requêt ne renvoit aucune erruer de syntax. Que faire?
G
Bonjour, j'ai un soucis avec le tutorial, en le suivant pas à pas, dans les liste déroulantes il ne me reprend qu'un seul auteur et un seul éditeur au lieu de tous les afficher. pourtant j'ai tout suivi pas à pas... sauriez vous m'aider svp? cdt sp
D
pour l'enfant jeux
Archives
Publicité
Publicité