我想创建一个非常简单的ajax自动建议,它可以从数据库中检索一些数据。
你可以在这里看到:
的index.php
<html>
<head>
<script type="text/javascript">
function suggest() {
var txtSearch = document.getElementById('txtSearch').value;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject('MicrosoftXMLHTTP');
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('myDiv').innerHTML = xmlhttp.responseText;
}
}
var target = 'include.inc.php?txtSearch=' + txtSearch;
xmlhttp.open('GET', target, true);
xmlhttp.send();
}
</script>
</head>
<body>
<input type="text" id="txtSearch" onkeyup="suggest();"/>
<div id="myDiv"></div>
</body>
</html>
incldue.inc.php
<?php
require_once 'connect.inc.php';
if (isset($_GET['txtSearch'])) {
$txtSearch = $_GET['txtSearch'];
getSuggest($txtSearch);
}
function getSuggest($text) {
$sqlCommand = "SELECT `SurName` FROM `person` WHERE `SurName` LIKE '%$text%'";
$query = mysql_query($sqlCommand);
$result_count = mysql_num_rows($query);
while ($row = mysql_fetch_assoc($query)) {
echo $row['SurName'].'<br />';
}
?>
问题:
在第22行获取以下错误,但我不明白为什么:
Parse error: syntax error, unexpected end of file in C:\wamp\www\PHP_Ajax_Autosuggest\include.inc.php on line 22
P.S:
我没有提到connect.inc.php
内容,因为它工作正常。
任何帮助都会非常感激。
答案 0 :(得分:2)
你没有正确关闭你的getSuggest($ text)函数。只需添加}之前的?&gt;
答案 1 :(得分:1)
jothikannan提到了引号问题,这对我来说很有意义。我想你也忘了结束你的getSuggest()函数了。在文件中的}
之前添加?>
。
答案 2 :(得分:1)
你只是缺少一个关闭括号来关闭这个功能。最后添加,你应该是好的。最后三行应该是:
}
}
?>
答案 3 :(得分:1)
<?php
require_once 'connect.inc.php';
if (isset($_GET['txtSearch'])) {
$txtSearch = $_GET['txtSearch'];
getSuggest($txtSearch);
}
function getSuggest($text) {
$sqlCommand = "SELECT `SurName` FROM `person` WHERE `SurName` LIKE '%$text%'";
$query = mysql_query($sqlCommand);
$result_count = mysql_num_rows($query);
while ($row = mysql_fetch_assoc($query)) {
echo $row['SurName'].'<br />';
}
} // You forgot this curly brace
?>
它现在可以正常工作.. :)