我一直在尝试使用AJAX和JSON通过以下代码显示我数据库中各个项目的内容。我想要实现的是,无论何时打开或点击单个项目,它都会在下一页显示其独特内容。
但是,后续项目只显示ID为“1”的初始项目的详细信息。我的数据库中有10个以上的项目,我希望这些项目反映出相应的数据。
// productpage_endpoint.php
需要“connection.php”;
$id = $_POST['id'];
$sql = "SELECT * FROM items WHERE id = $id";
$result = mysqli_query($conn,$sql);
$result = mysqli_fetch_assoc($result);
echo json_encode($result);
<script type="text/javascript">
$.post('productpage_endpoint.php',**{id: 1}**,
function(data){
var item = JSON.parse(data)
$('input[name=name]').val(item.name)
$('input[name=description]').val(item.description)
$('input[name=price]').val(item.price)
$('#item_image').attr('src',item.image)
}
)
</script>
答案 0 :(得分:0)
如果您想要求表中的所有项目:
$sql = "SELECT * FROM items";
在JS中,您需要为所有值创建新元素。否则,您将覆盖现有的表单值。
$.post('productpage_endpoint.php',
function(data){
for (var item in data) {
$('<input>')
.attr('name', 'name')
.attr('type', 'text')
.val(item.name);
// ...
// Add to your form...
}
}
)