如何为php表单编写简单的自动完成程序?

时间:2010-11-30 11:00:31

标签: php autocomplete

我有一个html / php表单,它从用户那里获取2个输入,并通过在数据库上运行查询来显示搜索结果。如何为使用AJAX调用从数据库搜索结果的2个用户输入启用自动完成?

2 个答案:

答案 0 :(得分:0)

如果'enable-auto-complete'=在下拉列表中显示可能的值列表,则会有一个名称相同的jquery插件。您可以在javascript中使用值数组或与Ajax结合使用。

答案 1 :(得分:0)

尝试此操作(使用多个字段mydb = data获取数据库)



//demo_cities.php
<?php

	$con=mysqli_connect("localhost","root","","auto");
	

	$return_arr = array();

    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT * FROM data where name like '$ac_term'";
    
	$result=mysqli_query($con,$query);
    
    while ($row = mysqli_fetch_row($result)) 
	{
        $row_array['label'] = $row[0];
        $row_array['price'] = $row[1];
         
        array_push($return_arr,$row_array);
    }

	echo json_encode($return_arr);

?>
&#13;
//index.php
</head>

<body>
<form method="post">
<fieldset>
<p><label>Name: </label>
<input type="text" id="name"  name="name" /> <br />

<label>Price: </label>
<input type="text" id="price"  name="price" /> <br /></p>
</fieldset>
</form>

<script>
$(function() {
	$('#price').val("");
				 
	$("#name").autocomplete({
      	source: "demo_cities.php",
        minLength: 1,
        select: function(event, ui) {
            $('#price').val(ui.item.price);
        },
		response: function( event, ui ) 
		{
			$('#price').val("");
		}
    });      
});
</script>
</body>
</html>
&#13;
&#13;
&#13;