繁体   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