[I](jQuery-1.10.2 & jQuery-ui-1.10.3)[/I]
Bonjour à tous,
Etapes de ce que j'aimerais créer:
- [B]liste déroulante[/B] qui affiche les différents champs d'une base de donnée
- clique sur un élément de la liste déroulante
- [B]l'input[/B] qui suit cherche dans la base de données en fonction du champs sélectionné
Voici le code auquel je suis arrivé jusqu'à présent:
page.php:
Code :
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script type="text/javascript" src="jquery-1.10.2.js"></script>
- <script type="text/javascript" src="jquery-ui-1.10.3.js"></script>
- <script>
- $(document).ready(function(){
- $("select#FormSearchList" ).change(function(){
- var idVal = $("select#FormSearchList option:selected" ).attr('value');
- $.getJSON("acc.php",{searchID: idVal, ajax: "true"}, function(data){
- var options = "";
- if (data != null)
- {
- for (var i = 0; i < data.length; i++) {
- options += '<option value="' + data[i].value + '">' + data[i].label + '</option>';
- }
- }
- if (options != "" )
- {
- $("#resJson" ).attr("value", options);
- $("select#FormSearchList" ).html(options);
- $("select#FormSearchList" ).attr("disabled", false);
- }
- });
- });
- $('#search').autocomplete({
- source : 'acc.php'
- });
- });
- </script>
- </head>
- <body>
- <form method="get" action="" id="FormSearch" style="padding-left:100px;">
- <select name="FormSearchList" id="FormSearchList">
- <option>---</option>
- <?php
- include_once("include_bdd.php" );
- $req=$bdd->query("SHOW COLUMNS FROM ".$table);
- while($data = $req->fetch(PDO::FETCH_ASSOC))
- {if($data['Field'] == 'id') {}
- else {
- echo '<option value="'.$data['Field'].'">'.$data['Field'].'</option>';
- }}
- $req->closeCursor();
- $req = NULL;
- ?>
- <input type="text" id="search" />
- </form>
- </body>
- </html>
|
acc.php:
Code :
- <?php
- include_once("include_bdd.php" );
- $term = $_GET['term'];
- $searchID = $_GET['searchID'];
- $array = array();
- //$req = $db->query("SELECT * FROM DealerRef WHERE DealerName LIKE '%". $term ."%' LIMIT 0, 10" );
- $req = $bdd->prepare('SELECT * FROM DealerRef WHERE '.$searchID.' LIKE :term LIMIT 0, 10');
- $req->execute(array('term' => '%'.$term.'%'));
- while($data = $req->fetch()) {
- array_push($array, $data[$searchID]);
- }
- echo json_encode($array);
- ?>
|
Merci à tous de votre aide par avance, ceci est le dernier élément de mon projet qu'il se fait temps que je termine