[英]Autocomplete input using jQuery, PHP and MySQL
我有一个关于自动完成输入的问题。
有php代码。
<?php
$db = mysqli_connect("localhost", "username", "password", "mydb");
if ($db === false) {
die("ERROR: Could not connect. " . mysqli_connect_error());
} else {
echo "<script>console.log('Polaczenie z baza nawiazane');</script>";
}
$searchTerm = $_GET['term'];
$query = $db->query("SELECT email FROM users WHERE email LIKE '%" . $searchTerm . "%'");
while ($row = $query->fetch_assoc()) {
$data[] = $row['email'];
}
//return json data
echo json_encode($data);
// close connection
mysqli_close($db);
?>
有我的输入字段。
<input id="email">
和jQuery
<script>
$(function() {
$( "#email" ).autocomplete({
source: 'test.php'
});
});
</script>
问题是我直接在我的页面上获取 Json - 我想要带有提示的简单输入框(自动完成) 怎么了?
从 PHP 发送response
时,您似乎缺少Content-Type
标头信息。
我还注意到您在回声后关闭了 mysqli 连接。 它需要反过来。 先关闭mysqli连接,然后回显。
检查下面更改的 PHP 代码,
$db = mysqli_connect("localhost", "username", "password", "mydb");
if ($db === false) {
die("ERROR: Could not connect. " . mysqli_connect_error());
} else {
echo "<script>console.log('Polaczenie z baza nawiazane');</script>";
}
$searchTerm = $_GET['term'];
$query = $db->query("SELECT email FROM users WHERE email LIKE '%" . $searchTerm . "%'");
while ($row = $query->fetch_assoc()) {
$data[] = $row['email'];
}
// close connection
mysqli_close($db);
// adding content type header
header('Content-Type: application/json');
//return json data
echo json_encode($data);
希望这可以帮助,
干杯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.