因此,我已經放在一起搜索功能,它會在您鍵入並在文本字段中顯示結果時進行搜索,但現在問題是它不會讓我輕鬆刪除,並且「思考' 太快。關於如何減緩這種情況的任何想法?拖延php中的關鍵筆畫mysql搜索
<script>
$(document).ready
(function()
{
$("#tag").keyup
(function()
{
var tag= $(this).val();
if(tag!='')
{
$.ajax(
{
type: "GET",
url: "autocomplete.php",
data: "q=" + tag,
cache: false,
success: function(result)
{
$("#tag").val(result);
}
}
);
}
return false;
}
);
}
);
</script>
,然後這個
<?php
$q_incoming=$_GET['q'];
//$my_data=mysql_real_escape_string($q_incoming);
$mysqli=mysqli_connect('localhost','XXXXXXX','XXXXXXXX','XXXXX') or die("Database Error");
$sql = "SELECT auto_complete_suggestions FROM auto_complete WHERE auto_complete_suggestions LIKE '$q_incoming%' LIMIT 0,1";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());
if($result)
{
while($row=mysqli_fetch_array($result))
{
echo $row['auto_complete_suggestions']."\n";
}
}
?>
我認爲正在發生的事情是,如果我鍵入「他」它會提示「幫助」,但是當我刪除了「P」這是怎麼回事,因爲再次提示它有「hel」來搜索。關於如何允許刪除以及減慢查詢速度的任何想法,以便您可以以合理的打字速度鍵入一封信?我可以使用定時功能,或者告訴它在刪除後忽略它?
謝謝!
本問答可能有助於http://stackoverflow.com/q/18965768/和http://stackoverflow.com/q/4542863/ – 2014-10-31 16:02:41
使用'mysqli'時,您應該使用參數化查詢和['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢。 **不要**使用字符串插值來實現此目的,因爲您將創建嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 – tadman 2014-10-31 16:10:15
JQuery Autocomplete具有您正在尋找的**精確**延遲選項。如果您反對使用完整的JQuery UI庫,那麼通過源代碼並弄清楚它們是如何實現的。 – MonkeyZeus 2014-10-31 16:12:22