使用php mysql进行实时搜索

时间:2016-03-02 07:44:12

标签: php mysql

我正在尝试使用php html和mysql开发一个实时搜索应用程序。当我运行它时,我收到一个错误

  

无法加载资源:服务器响应状态为404   服务器中的(未找到)错误。

这是我的html和php:

HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title>Insert title here</title>
        <script   src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
        <script type="text/javascript">
            function getStates(value) {
                $.post("mypage.php", {partialState: value}, function (data) {
                    $("#results").html(data);
                });
            }
        </script>
    </head>
    <body>
        <input type="text" onkeyup="getStates(this.value)" />
        <br>
        <div id="results"></div>
    </body>
</html>

PHP:

<?php
    mysql_connect("localhost:3306", "root", "root") or die(mysql_error());
    mysql_select_db("mydb") or die(mysql_error());
    $partialStates = $_POST['partialState'];
    $states = mysql_query("select name from software where name like '%        {$partialStates}%'");
    while ($state = mysql_fetch_array($states)) {
        echo"<div>" . $states['name'] . "</div>";
    }
?>  

2 个答案:

答案 0 :(得分:2)

这适用于我的电脑 HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
function getStates(value){
  $.post("mypage.php", {partialState:value}, function(data){
    $("#results").html(data);
  });
}
</script>
</head>
<body>
<input type="text" onkeyup="getStates(this.value)">
<br>
<div id="results"></div>
</body>
</html>

PHP:

<?php
$partialStates = $_POST['partialState'];
$query = 'SELECT name FROM software WHERE name LIKE "%'.$partialStates.'%"';
$mysqli = new mysqli("127.0.0.1","root","root","mydb");
if($mysqli->connect_errno){
  echo "Keine Verbindung mit MySQL. :/";
}
$result = $mysqli->query($query);
$data = $result->fetch_all();
foreach($data as $row){
  echo "<div>".$row[0]."</div>";
}
?>

如果它仍然不起作用:
   - 确保mypage.php和mypage.html都在同一目录中    -

答案 1 :(得分:0)

确保已安装Xampp / wamp。然后在xamp中启动apache,mysql。然后使用您的项目名称将代码粘贴到xampp的htdoc文件夹中,然后导航到localhost / you_folder_name。
尝试将echo"<div>" . $states['name'] . "</div>";更改为echo"<div>" . $state['name'] . "</div>";
你得到的数据库名称列表与匹配的字符串匹配吗?所以肯定没有一个名字。所以我认为它会将其作为数组返回。尝试在mypage.php中使用以下代码。

 while ($state = mysql_fetch_array($states)) {
        echo"<div> <pre>" ;
        print_r ($states['name']); //or print_r($states); or echo $state['name'];
        echo "</pre></div>";
    }

我在评论中写了因为我不知道你在$states得到了什么,如果你有一些haw打印数组并将其粘贴到你的问题