我试图在mysql数据库中输出与特定id值相关联的名称,但它不起作用。加载的id行在get\u 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>
获取\u 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();
?>
1条答案
按热度按时间enyaitl31#
是的,数据的打印是错误的,您必须在get\u id.php中回显检索到的数据,在那里打印结果,并像这样更改脚本
现在一切正常,但是不要忘记在php文件中使用一段时间来回显结果