IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

Question sur mysql


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut Question sur mysql
    Bonjour,
    J'aurais voulu savoir si il était possible par le biais d'un formulaire en php d'effectuer une recherche sur une bdd mysql et qu'a chaque fois que l'utilisateur entre une caractère dans le champs prévu à la recherche il s'affiche dans ce même champs les résultats qui corresponde au caractères tapé.(comme pour le moteur de recherche google) J'espere m'être bien expliqué

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Par défaut
    Bonjour Fasyr,

    Ce que tu cherches à faire s'appelle de l'autocomplétion.
    C'est tout à fait possible, mais il faut savoir que l'autocomplétion fait toucher à beaucoup de domaines.
    Pour commencer, tu peux faire quelques recherches sur : Ajax (l'autocomplétion repose sur des appels Ajax), Script.aculo.us (une librairie JS parmi d'autres qui fait très bien de l'autocomplétion) et bien sûr autocomplétion !

    Bon courage,
    Stéphane

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut ok
    Merci de ta réponse as tu déja développer cette fonctionnalité? si oui à tu des exemple simple qui pourrait me permettre de le developper?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut
    Bonjour,

    Je peux te proposer une solution d'auto complétion (celle que j'utilise personnellement) elle utilise le framework aculous

    il faut préalablement télécharger ce fameux framework (ici)

    ensuite tu dois donc inclure tes librairies

    (à placer dans le head)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <script src="aculous/lib/prototype.js" type="text/javascript"></script> 
    <script src="aculous/src/scriptaculous.js" type="text/javascript"></script>

    puis le bout de code html/javascript correspondant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Recherche 
    <input name='recherche' type='text' id='recherche'/>
    	<div id='recherche_propositions'></div>
    		<script type='text/javascript' language='javascript'> 
    		new Ajax.Autocompleter('recherche','recherche_propositions','auto_result.php',{  paramName: 'text',   minChars: 1 }); 
    			</script>

    le premier input correspond à ton champ ou tu tapes
    la div recherche_propositions correspond à la div dans laquelle seront afficher tes résultats de l'auto complétion et enfin la fonction Ajax.Autocompleter,
    le premier paramètre étant l'endroit ou il va cherche ce que tu tapes,
    le deuxième est l'endroit ou il charge les résultat,
    le troisième est le fichier php appelé.
    paramName:'text' défini le nom de la variable que tu récupérera dans ton fichier php via le tableau superglobal $_POST['test'] est minchar étant le nombre de caractère mini avant que la fonction se déclenche.

    Pour le fichier php qui recupère les données dans la base je te laisse travailler un petit peu quand même, sache juste qu'il faut formater le résultat sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ul>
    <li>premier champ</li>
    <li>deuxième champ</li>
    ...
    </ul>
    Cordialement,
    Sweet

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut Question
    Salut,
    Merci de ta réponse. Tu me dis qu'il faut que je télécharge un framework aculous. Cependnat, l'application que je creée(qui est une page intranet) doit être accessible par tout une entreprise(c'est un répertoire de contacts en fait). Faut-il donc que le framework soit installé sur toutes les machines qui utiliserons ma page intranet?

    Cordialement
    Cyril

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut
    Bonjour,

    Non, il suffit juste de placer les dossiers de la librairie à l'endroit où est stocké ta page web.
    A chaque fois que tu visites un site web avec des effets en javascript dans tout les sens, tu n'as pas a télécharger les framework utilisé (dans le cas où un framework à été utilisé ^^).
    Intranet ou pas la page web est bien stocké sur un seul et unique emplacement auquel tout le monde se connecte, le principe reste le même.

    Aculous n'est rien de plus qu'une série de fichiers .js contenant une multitude de fonction javascript déjà programmé dans le but de te simplifier la vie.

    Après bien évidemment si tu te sens de programmer la fonction par toi même au diable les frameworks !


    Cordialement,
    Sweet.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut probleme
    désoler pour mon incompétence mais je galère un peu:

    j'ai fait mon fichier php qui me renvoi bien ma liste de contacts:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
     
    //connection à la base de données
    	include('../connection_bd.php');
     
    	//construction de la requette
    	$sql = "SELECT NOMCONTACT FROM contacts";
     
    	//execution de la requette
    	$resultat = mysql_query($sql) or die('erreur SQL' .$sql.'<br/> .mysql_error();');
     
    	//debut de la liste
    	$paramDebut = '<ul>';
     
    	while ($data = mysql_fetch_array($resultat, MYSQL_ASSOC)){
    	//éléments de la liste
    	$paramMid = $paramMid.'<li>'.$data['NOMCONTACT'].'</li>';
    	}
    	//fin de la liste
    	$paramFin ='</ul>';
     
    	//Concaténation du debut+élement+fin de liste
    	$paramName = $paramDebut.$paramMid.$paramFin;
    	return $paramName;
     
    	//fermeture de la connection
    	mysql_close();
     
    ?>
    et mon formulaire qui contient mon input de recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!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" xml:lang="fr" lang="fr">
        <head>
    		<script src="lib/prototype.js" type="text/javascript"></script> 
    		<script src="src/scriptaculous.js" type="text/javascript"></script>
        </head>
        <body>
            <form method="POST" action="../controleur/controleur_recherche_contact.php" name="recherche_contact">
    			<table border="1">
    						<caption>Recherche d\'un contacts</caption>
    							<tr> 
    								<th>Nom : </th>
    								<td>
    									<input type="text" name="Nom" id='Nom'> 
    									<div id='recherche_propositions'></div>
    									<script type='text/javascript' LANGUAGE='javascript'> 
    									new Ajax.Autocompleter('Nom','recherche_propositions','auto_contact.php',{  paramName: 'text',   minChars: 1 }); 
    									</script>
    								</td>
    								<td><a href="../Vue/formulaire_contact.php"> Créer un nouveau contact </td>
    							</tr> 
    							<tr> 
    								<th>Lancer la recherche</th>
    								<td><input type="submit" value="Rechercher"></td>
    							</tr>
    					</table>
    				</form>
       </body>
    </html>
    Cependant je ne vois pas ou je doit mettre ma variable $_POST[test]

    désolé je sais que je galère mais bon je débute et on me demande de faire ce genre de truc pour mon stage
    Merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Par défaut
    Bonjour,

    Ahhhh un tabblleeaauauu !!
    Bon ok je m'emballe mais un <table> ça sert à présenter des données tabulaires ! pas pour la mise en page.. m'enfin bref passons.

    le $_POST['text']; est à mettre dans ton fichier php, et oui là (d'ailleurs est ce que ça fonctionne pour le moment ?)si ça fonctionne, quand tu tapes un caractère il te sort toujours la même liste qui contient tout les noms de contact.

    il faut donc placer le $_POST['text']; au début de ton fichier php, pour récupérer le caractère que tu as tapé, et ensuite adapter ta requête sql pour qu'elle filtre les résultats en fonction de ce que tu tapes.. je te laisse travailler sur ce sujet. Et oui faut bien travailler un peu ^^'.


    Cordialement,
    Sweet

    ps:la mise en page en tableau risque de pertubé la div recherche_propositions..
    ps2:<murmure>penses à chercher du côté de where ... like ..</murmure>


    EDIT : oui au fait dans ton fichier php, il ne faut pas mettre return mais echo à la fin, ça ne marche pas comme une fonction, ça charge dans la div ce qu'affiche le fichier php.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une question sur MySQL et l'arborescence
    Par santille dans le forum Débuter
    Réponses: 1
    Dernier message: 09/06/2009, 16h59
  2. Une question sur MySQL et l'arborescence
    Par santille dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2009, 20h31
  3. question sur mysql et sql server
    Par DJERDJAR YACINE dans le forum Outils
    Réponses: 1
    Dernier message: 19/07/2007, 08h54
  4. [MYSQL] Question sur jointure
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/10/2005, 11h46
  5. [Mysql] [eclipse] questions sur l'installation
    Par sandusa dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 18/03/2004, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo