PHP没有从JQuery获取id属性变量

时间:2017-03-24 21:31:51

标签: javascript php jquery mysqli

好的,所以我有一个mysql表(带有id,名称,照片等),显示每个id的图像。当我点击每个图像时,它会打开一个模态,我想显示给定id的名称。

<input type="image" src="imatges/<?php echo $row['foto']; ?>" id="<?php echo $row['id']?>" class="img-rounded image" width="250px" height="200px" data-target="#myModal"/>

问题是我尝试使用Jquery获取图像ID然后将其传递给php,以便它可以在模态上显示名称,但它不起作用。它反而说“不”。我怎样才能解决这个问题?提前谢谢。

<!-- Modal -->
        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">

                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="btn close" data-dismiss="modal">X</button>

                        <?php
                        $id = isset($_POST['id']);
                        if(!$id){
                            echo "no";
                        }

                        $prepIexec2 = $conn->prepare('SELECT nom FROM TaulaGats WHERE id = :id');
                        $prepIexec2->bindParam(':id', $id);
                        $prepIexec2->execute();

                        while($row = $prepIexec2->fetch(PDO::FETCH_ASSOC)){
                            extract($row);
                        ?>

                        <h4 class="h4"><span></span><?php echo $row; } ?></h4>

Jquery的

$(document).ready(function(){
                $(".image").click(function(){
                    var id = $(this).attr('id');
                    $.ajax({
                        type: "POST",
                        data: { id: id },
                        success: function (result) {
                            $("#myModal").modal();
                        }
                    });
                });
            });

1 个答案:

答案 0 :(得分:0)

jQuery代码需要使用PHP脚本返回的信息更新DOM。

你应该有一个脚本只返回你想要查找的名称,而不包含所有HTML。

<?php
if (!isset($_POST['id'])) {
    echo "no";
    exit;
}
$id = $_POST['id'];
require_once("dbsetup.php"); // or whatever you use to initialize your database connection
$prepIexec2 = $conn->prepare('SELECT nom FROM TaulaGats WHERE id = :id');
$prepIexec2->bindParam(':id', $id);
$prepIexec2->execute();
$row = $prepIexec2->fetch(PDO::FETCH_ASSOC);
if ($row) {
    echo $row['nom'];
} else {
    echo "no";
}

然后你的Javascript看起来像:

$(document).ready(function(){
    $(".image").click(function(){
        var id = $(this).attr('id');
        $.ajax({
            url: "getNom.php",
            type: "POST",
            data: { id: id },
            success: function (result) {
                $("#myModal h4 span").text(result);
                $("#myModal").modal();
            }
        });
    });
});