我一直在閱讀和觀看大量有關javascript,jquery和AJAX的教程,但我似乎無法理解如何使unlim500中的這些人有'過濾器'。使用javascript和AJAX進行數據庫過濾
他們的腳本允許您只需點擊一個品牌,然後表格被過濾和刷新(無需重新加載頁面)。
此頁面上活生生的例子,點擊Всемарки: http://www.unlim500.ru/results/
誰能引我到正確的方向?
我該如何製作這樣的過濾器?
的index.php =
<a id="bugatti_link" href="#" database_id="Bugatti">Bugatti</a>
<script>
$("#bugatti_link").click(load_ajax);
function load_ajax(e) {
var link = $(e.target);
var vehicle_database_id = link.attr("database_id");
var ajax_params = {"brand": vehicle_database_id};
$.getJSON("query2.php", ajax_params, success_handler)
}
function success_handler(data) {
//data variable contains whatever data the server returned from the database.
//Do some manipulation of the html document here. No page refresh will happen.
}
</script>
query2.php =
<?php
$host = "xx";
$user = "xx";
$db = "xx";
$pass = "xx";
$pdo = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$rows = array();
if(isset($_GET['brand'])) {
$stmt = $pdo->prepare("SELECT brand FROM cars WHERE brand = ? ");
$stmt->execute(array($_GET['brand']));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
echo json_encode($rows);
?>
謝謝您的回答,我一直在與你的最後幾個小時的代碼,但我似乎無法得到它的工作還沒有。我用我現在的代碼更新了我原來的帖子,必須有一些我做錯了。 – Joost 2012-07-08 22:55:59
在success_handler函數中用'alert(data)'替換註釋,然後當你點擊鏈接時,你應該可以看到來自服務器的數據。對不起,我對PHP不太熟悉,所以無法在query2.php中準確評論你的服務器代碼。您也可以嘗試將$ .getJSON更改爲$ .ajax(使用適當的參數,它們將是一種不同的格式),只是爲了檢查它不是讓您絆倒的東西的一部分。 – iancoleman 2012-07-08 23:52:49
仍然無法得到它的工作。你在做什麼/數據庫/視圖? – Joost 2012-07-09 09:19:29