I want to make auto complete text box for select employee names from the database. I don't have fair idea about that. But I tried to make it as following.
autocomplete.php
<?php
include 'func/db_connect.php';
if (isset($_POST['query']))
{
$query = $_POST['query'];
$mysql_query = mysql_query("SELECT * FROM employee WHERE name LIKE '%{$query}%'");
while ($row = mysql_fetch_assoc($mysql_query))
{
$array[] = $row['name'];
}
echo json_encode ($array);
}
js script
<script>
$('#typeahead').typeahead({
source: function(typeahead, query){
$.ajax({
url: 'autocomplete.php',
type: 'POST',
data: 'query=' + query,
dataType: 'JSON',
async: 'false',
success: function(data){
typeahead.process(data);
}
});
}
});
</script>
index.php
<link rel="stylesheet" href="css/jquery-ui-1.10.3.custom.min.css" />
<script src="js/jquery-1.10.2.min.js"></script>
<script src="js/jquery-ui-1.10.3.custom.min.js"></script>
<td><b>Employee name : </td>
<td>
<input type="text" id="typeahead" data-provide="typeahead" size="30">
</td>
But it does not work. What is the correct way of make autocomplete text box.
Try following code...
html
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" />
<p><label>Country:</label><input type='text' name='country' value='' class='auto'></p>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.1/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function()
{
$(".auto").autocomplete({
source: "autocomplete.php",
minLength: 1
});
});
</script>
autocomplete.php
<?php
mysql_connect("localhost", "root", "")or die("cannot connect");
mysql_select_db("test")or die("cannot select DB");
$query = $_GET['term'];
$mysql_query = mysql_query("SELECT * FROM users WHERE name LIKE '%{$query}%'");
while ($row = mysql_fetch_assoc($mysql_query))
{
$array[] = $row['name'];
}
echo json_encode ($array);
0 comments:
Post a Comment