Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster -> FAQ BDD, Cours BDD et Sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 02/10/2009, 12h26   #1 (permalink)
Invité de passage
 
Date d'inscription: août 2009
Messages: 2
Par défaut Autocomplétion php- AJAX lié a une liste déroulante

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&#146;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/>&copy; -
 </p>
</div>
</body>
</html>
merci d'avance

Dernière modification par hiruma17 ; 02/10/2009 à 14h59.
hiruma17 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 14h35.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.