0
我試圖在網頁中創建幾個自動填充字段。我有2個工作,一個使用本地數組作爲源,另一個使用名爲search.php的頁面,但使用search.php的頁面無法正常工作。jQuery UI - 將源代碼更改爲MySQL數據
下面是基本的網頁代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Remote datasource</title>
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
<script src="../../jquery-1.6.2.js"></script>
<script src="../../ui/jquery.ui.core.js"></script>
<script src="../../ui/jquery.ui.widget.js"></script>
<script src="../../ui/jquery.ui.position.js"></script>
<script src="../../ui/jquery.ui.autocomplete.js"></script>
<link rel="stylesheet" href="../demos.css">
<style>
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }
</style>
<script type="text/javascript">
$(function() {
var availableTags = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "perl"];
$("#tags").autocomplete({
source: availableTags
});
});
$(function() {
var availableTags = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "perl"];
$("#tags2").autocomplete({
source: "search2.php",
minLength: 3
});
});
</script>
<input id="tags" />
<input id="tags2" />
</body>
</html>
這裏是的search.php頁面代碼
<?php
// PHP5 Implementation - uses MySQLi.
// mysqli('localhost', 'yourUsername', 'yourPassword', 'yourDatabase');
$db = new mysqli(localhost', 'username' ,'password', 'database_name');
if(!$db) {
// Show error if we cannot connect.
echo 'ERROR: Could not connect to the database.';
}
$term = $_GET['term'];
$result = $db->query("SELECT registeredName FROM names WHERE registeredName LIKE '%".$term."%' ");
$array = array();
while ($data = mysql_fetch_array($result))
{
$row_array['id'] = $data['id'];
$row_array['value'] = "$data[value]";
array_push($array, $row_array);
}
echo json_encode($array);
?>
任何意見,將不勝感激
感謝羅斯......但沒有喜悅... – Staggan
Staggan - 也是在你的PHP,你分配row_array [ '值'] - 這個PHP是錯誤的。請參閱上文,瞭解它應該是什麼.. – Ross
在旁註中 - 您應該使用mysqli或PDO使該db查詢參數化,以便它不會獲取由黑客注入的sql,如果此操作將在面向公衆的機器上。在使用它來形成查詢之前,您還應該對$ _GET參數進行輸入驗證。 – Ross