簡體   English   中英

從數據庫中回顯$ data []以獲取特定行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM