從在線教程學習jQuery,找到許多教程,只是找到一個簡單的也許很好的新手。 下面是index.html中的代碼:jQuery與PHP和MySQL的自動完成無法工作
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>
Autocompletement
</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="suggest.js"></script>
</head>
<body>
<input type="text" name="suggest" placeholder="Type a Country Name..." onkeyup="suggestion()"/>
<div id="autosuggest"></div>
</body>
</html>
這裏是suggest.php的代碼:
<?php
include "connect.php";
function auto($data){
global $mysqli;
$data = $_GET['data'];
$query = "SELECT code, name_en
FROM countries
WHERE name_en LIKE '%$data%'
OR code LIKE '%$data%'";
$items = '<ul class="suggestion">';
if($result = $mysqli->query($query)){
/* fetch associative array */
while($row = $result->fetch_assoc()){
$items .= '<li>'.$row['name_en'] . ' ' . $row['code'].'</li>';
}
$items .= '</ul>';
}else{
$items = "No results Found...";
}
echo $items;
}
auto();
?>
這裏是suggest.js
function suggestion(){
var suggestVal = $('#suggest').val();
if(suggestVal != ''){
$.ajax({
url: 'suggest.php?data='+suggestVal,
success: function(data){
$('#autosuggest').html(data);
}
})
}
}
結果的代碼上面只會顯示「找不到結果...」,看起來處理文件中的suggest.php不起作用,於是我用測試文件test.php測試它:
$mysqli = new mysqli("host","user","pass","database");
//auto();
$data = $_GET['input'];
//$data = "ca";
$query2 = "SELECT code, name_en FROM countries WHERE name_en LIKE '%$data%' OR code LIKE '%$data%'";
echo "<br>" .$query2;
echo "<br>";
if($mysqli){
echo "Yes SQL";echo "<br>";
}else{
echo "No SQL";echo "<br>";
}
$result = $mysqli->query("SELECT code, name_en FROM countries WHERE name_en LIKE '%$data%' OR code LIKE '%$data%'");
if($result->num_rows){
echo "Yes Result";echo "<br>";
}else{
echo "No Result";echo "<br>";
}
奇怪的是,我找不到任何錯誤的代碼,檢查php.net示例,似乎一切都很好?但是,當我檢查vam_dump($result)
那麼它是「null
」,任何幫助將不勝感激。 這裏是test.php的輸出:
SELECT code, name_en FROM countries WHERE name_en LIKE '%ch%' OR code LIKE '%ch%'
Yes SQL
No Result
網址:http://IP/project/jquery/auto_diy/test.php?input=ch
看來你輸入的沒有'ID = 「建議」'。給這個應該工作的漩渦'
@ Fred-ii-感謝提醒,已將id添加到索引中,但仍然沒有成功 – newbrant
不客氣。在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即在文件頂部添加錯誤報告。 ini_set('display_errors',1);'然後你的代碼的其餘部分,看看它是否產生任何東西, 以及'或die(mysqli_error($ mysqli))'到'mysqli_query()'。如果有的話,請檢查您的控制檯和JS控制檯錯誤。 –