|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2009
Messages: 2
|
Bonjour,
Je suis en train de développez un moteur de recherche interne, étant débutant pour le moteur en sois j'ai pris un moteur déjà existant (blork engine 023B) et que je compte modifier pour correspondre plus a mes besoins. Pour l'autocomplétion j'ai utilisé le script de autocomplétion avancée de j0k3r que j 'ai évidement modifié pour coller a mes besoins. Cependant je compte changer leurs formulaire du moteur de recherche par celui que j'ai commencé et qui correspond presque a ce que je voudrais. explication du but de moteur de recherche. je suis en stage ds une entreprise, et je dois développer un moteur de recherche interne pour un responsable qui lui permet en tapant le nom d'un produit qu'il recherche en fonction d'une date qu' il a préalablement sélectionné de ressortir en résultat les pages html (d'un de leur serveur de fichiers qui contient des pages html )en fonction des dates et des sites ou ce produit apparait dans ses pages html. La difficulté est que le nombre de produits est énorme (des milliers) et la deuxième c'est que les produits n'ont pas le même nom selon les sites sniffés, pour cela il y a les noms "officiel" que l'entreprise donne a un produit et le nom original qui corresponds au nom trouvé sur une page d'un site (cela diffère évidement selon les sites) J'ai opté pour l'autocomplétion pour combler a la premier difficulté, l'aide a la saisie permet de ne pas faire d'erreur lors de l'écriture de ce nom, et c'est pour la deuxième difficulté que j'ai besoins de vos conseils avisés. lorsqu'il recherche un nom officiel j'aimerai que la liste déroulante propose (sans la rechargé) tout les noms originaux qui corresponde a ce nom officiel. est ce possible? si oui comment procèderiez vous? voici code actuel de mon formulaire. Code :
<?php if(isset($_POST['official'])){ header('Content-type: text/html; charset=iso-8859-1'); // on inclut la connexion include('connexion.php') $official= $_POST['official']; $sql = "SELECT DISTINCT `nomOff`,`id_nomOff` FROM `table_des produits WHERE `nomOff` LIKE '".$_POST['official']."%' ORDER BY `nomOff` "; $req = mysql_query($sql) or exit(mysql_error() . "<br/>$req"); $i = 0; echo '<ul class="autocomplete">'; // on boucle sur tous les éléments while($autoCompletion = mysql_fetch_assoc($req)){ echo ' <li class="autocomplete" > <div >'.$autoCompletion['official'].'</div> </li>'; // on s'arrête s’il y en a trop if (++$i >= 10) die('<li>...</li></ul>'); } echo '</ul>'; die(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Une autocompletion avancée en AJAX</title> <script type="text/javascript" src="lib/prototype.js"></script> <script type="text/javascript" src="lib/scriptaculous.js"></script> <script type="text/javascript" src="lib/autocompletion.js"></script> <link rel='stylesheet' type='text/css' media='all' href='form.css' /> <style type="text/css"> div.autocomplete { position: absolute; width: 500px; background-color: white; border: 1px solid #888; margin: 0px; padding: 0px; } div.autocomplete ul { list-style-type: none; margin: 0px; padding: 0px; max-height: 20em; overflow: auto; } div.autocomplete ul li.selected { background-color: #ffb; } div.autocomplete ul li { list-style-type:none; display: block; margin: 0; padding: 2px; cursor: pointer; } </style> </head> <body> <div id='container'> <fieldset> <legend>Produit Info</legend> <dl> <form action="Recherche.php" method="post" "> <dt><label for="official">nom official : </label></dt> <dd><input type="text" name="official" id="official" value="" /></dd> <div class="autocomplete" id="official_update"></div> <input type="hidden" name="official_id" id="official_id" value="" /> </dl> <dl> <dt><label for='dimensions'>Dimensions:</label></dt> champs ou je compte faire une liste des dimensions du produit choisis(mais bon plus tard) </dl> <dl> <dt><label for='date'>Date:</label></dt> <dd> //liste déroulante contenant les dates. </dd> </dl> </fieldset> <fieldset class='action'> <input type='submit' name='Search' id='submit' value='Search' /> </fieldset> </form> <script type="text/javascript"> new Ajax.Autocompleter ('official', 'official_update', 'test.php', { method: 'post', paramName: 'official', minChars: 1 }); </script> <p id='footer'>Search engine v.0.1<br/>MAJ: 25 septembre 2009<br/>© - </p> </div> </body> </html> Dernière modification par hiruma17 ; 02/10/2009 à 14h59. |
|
|
|
|
|
![]() |
||
Autocomplétion php- AJAX lié a une liste déroulante
|
||
| Outils de la discussion | |
|
|