使用AJAX和JSON从数据库中反映项目

时间:2017-10-15 14:36:26

标签: php jquery json ajax

我一直在尝试使用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>

1 个答案:

答案 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...
        }
    }
)