2016-03-02 59 views
0

我正在嘗試開發一個使用php html和mysql的實時搜索應用程序。當我運行它我得到一個錯誤使用php 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>"; 
    } 
?> 
+0

查看本頁面的位置'mypage.php' –

+0

mypage.php與html文件位於同一位置。 –

+0

嘗試將它寫爲:'。/ mypage.php' –

回答

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獲得,這將是很好的,如果你的一些山楂打印陣列並粘貼在你的問題。

+0

nope它不起作用 –

+0

man,你正在賦值'$ state'並且回顯'$ states '你有沒有試過'print_r()'? –

+0

yess它不能正常工作 –

1

這適用於我的電腦。
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都是在同一個目錄 -