PHP:创建ajax自动建议

时间:2013-08-10 16:09:27

标签: php ajax

我想创建一个非常简单的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内容,因为它工作正常。

任何帮助都会非常感激。

4 个答案:

答案 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

?>

它现在可以正常工作.. :)