如何为我上传的所有图像制作模式弹出按钮?

时间:2019-06-30 13:07:02

标签: javascript php mysql ajax

我想为所有图像制作一个弹出模式按钮,但是只有第一个可以使用,我知道我必须添加一些foreach代码,但是我不知道如何。

<div id="myModal" class="modal">
    <span class="close">&times;</span>
    <img class="modal-content" id="img01">
</div>

<div class="gallery">
    <div class="containerPhotos">
        <?php
            require_once 'classes/dbh.php';
            if (isset($_GET['entry_id'])) {
                $entry_id = $_GET['entry_id'];
                $query = mysqli_query($conn, "SELECT * FROM images WHERE entry_id='$entry_id'");

                if ($query->num_rows > 0) {
                    while ($row = $query->fetch_assoc()) {
                        $dirname = 'uploads/' . $row["file_name"];

                        echo '<img class="photo" onclick="showImage(this)" id="myImg" src="' . $dirname . '" />';
                    }
                }
            }
        ?>
    </div>
</div>
    <script>
        var modal = document.getElementById('myModal');

        var img = document.getElementById('myImg');
        var modalImg = document.getElementById("img01");
        img.onclick = function () {
            modal.style.display = "block";
            modalImg.src = this.src;
        }

        var span = document.getElementsByClassName("close")[0];

        // When the user clicks on <span> (x), close the modal
        span.onclick = function () {
            modal.style.display = "none";
        }
    </script>

我希望可以使用foreach代码为所有人工作,但我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

您需要实现showImage函数

  function showImage(el){
    var modal = document.getElementById('myModal');
    var modalImg = document.getElementById("img01");
    modalImg.src = el.src;
    modal.style.display = "block";
  }

使用引导框架。它将帮助您开始