[英]echo $data[ ] for specific row from database
我正在嘗試輸出與mySQL數據庫中的特定ID值關聯的名稱,但是它不起作用。 加載的ID行在get_id.php文件中定義。 我是否缺少某些內容或代碼中的某些內容有誤?
這是Ajax的html部分:
<html> <head> <script> function showHint(id) { if (id.value == 0) { document.getElementById("name-display").innerHTML = ""; return; } else { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("name-display").innerHTML = <?php echo $data['name'];?> } }; xmlhttp.open("GET", "get_id.php?id=" + id, true); xmlhttp.send(); } } </script> </head> <body> <p><b>Enter ID here</b></p> <form> ID: <input type="text" onkeyup="showHint(this.value)"> </form> <p>Name: <span id="name-display"></span></p> </body> </html>
get_id.php文件:
<?php require 'database.php'; $id = $_REQUEST['id']; $pdo = Database::connect(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM pokemons where id = ?"; $q = $pdo->prepare($sql); $q->execute(array($id)); $data = $q->fetch(PDO::FETCH_ASSOC); Database::disconnect(); ?>
是的,數據的打印是錯誤的,您必須在get_id.php中回顯檢索到的數據,然后在其中打印結果並像這樣更改腳本
if (this.readyState == 4 && this.status == 200) {
document.getElementById("name-display").innerHTML = this.responseText;
}
};
現在一切正常,但不要忘記在php文件中使用一會兒回顯結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.