从在线教程学习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控制台错误。 –