好像你混淆服務器端和客戶端操作。 PDO在服務器端運行並與數據庫服務器通信。 JavaScript(在這種情況下,jQuery)在客戶端運行並在DOM上運行。 AJAX是這兩者之間的一種聯繫。
所以,如果你想填充輸入字段與數據庫中的一些值,你可以做到這一點,在服務器端:
<?php
//run query, fetch array and store it in $sport
?>
<input type="text" name="full_name" value="<?php echo $sport['full-name']; ?>" />
<input type="text" name="short_name" value="<?php echo $sport['short-name']; ?>" />
<input type="text" name="abbreviation" value="<?php echo $sport['abb-name']; ?>" />
或者你可以做它的客戶端(例如,如果用戶點擊一個鏈接/按鈕/其他):
<?php
//this is the script you make an AJAX-request to, e.g. get_data.php
//run query, fetch array and store it in $sport
echo json_encode($sport); //echo the array in JSON-format
這是頁面提供給用戶:
...
<input type="text" name="full_name" id="input-full-name" value="" />
<input type="text" name="short_name" id="input-short-name" value="" />
<input type="text" name="abbreviation" id="input-abb-name" value="" />
...
<button id="populate_btn">Populate Data</button>
<scrip>
$('#populate_btn').click(functiion(){
$.post('get_data.php', {}, function(sport) {
//sport now contains the json-array
$.each(sport, function(key, value) {
$('#input-'+key).val(value);
});
});
});
</script>
這是一個非常基本的例子,但我希望你明白。還要注意,給定的AJAX示例僅適用於該數組的鍵匹配id
-某種輸入字段的屬性,例如:$sport['full-name'] and <input id="input-full-name" />
。這使得使用它變得更容易。