Saya mencoba melakukan popup konten dinamis yang luar biasa.

Ini adalah kode saya saat ini.

if ($queryResult > 0) {
while ($row = mysqli_fetch_assoc($result)) {
  echo "<div class='hvrbox'>
     <img src='image/".$row['mImage']."' alt='' class='hvrbox-layer_bottom' />
     <div class='hvrbox-layer_top'>
       <a href='#posterVid1' class='posterbtn1' id='posterLink1'>Play Trailer</a>
       <div id='posterVid1' class='mfp-hide' style='max-width: 75%; margin: 0 auto;'>
           <iframe width='853' height='480' src='".$row['mLink']."' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>
       </div>
       <a class='posterbtn2' href='movie-detail.php?name=".$row['mName']."'>Movie Details</a>
       <div class='hvrbox-text'>Me Before You</div>
     </div>
   </div>";
      }
    }

Ini javascriptnya

$('#posterLink1, #posterLink2, #posterLink3')
.magnificPopup({
      type:'inline',
      midClick: true // Allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source in href.
  }) 

Karena sembulan luar biasa yang saya gunakan hanya membuka konten berdasarkan id yang diberikan dalam tag id dan dalam JavaScript, jika saya memiliki konten yang berbeda, id tetap sama dan tombol hanya membuka konten yang sama berulang kali karena id sama. Karena konten yang saya dapatkan berasal dari database, saya tidak dapat mereplikasi kode berulang kali dan hanya mengubah id seperti di halaman statis.

Apa yang saya lakukan salah?

0
Cecil 29 Oktober 2019, 15:26

1 menjawab

Jawaban Terbaik

Masalahnya adalah Anda tidak memiliki penghitung di loop Anda. Anda juga tidak memerlukan id untuk memanggil magnificPopup, alih-alih gunakan class untuk dinamis.

PHP:

if ($queryResult > 0) {
    $ctr = 1;
    while ($row = mysqli_fetch_assoc($result)) {
        echo "<div class='hvrbox'>
            <img src='image/".$row['mImage']."' alt='' class='hvrbox-layer_bottom' />
            <div class='hvrbox-layer_top'>
                <a href='#posterVid".$ctr."' class='posterbtn1'>Play Trailer</a>
                <div id='posterVid".$ctr."' class='mfp-hide' style='max-width: 75%; margin: 0 auto;'>
                    <iframe width='853' height='480' src='".$row['mLink']."' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe>
                </div>
                <a class='posterbtn2' href='movie-detail.php?name=".$row['mName']."'>Movie Details</a>
                <div class='hvrbox-text'>Me Before You</div>
            </div>
        </div>";
        $ctr++;
    }
}

Javascript:

$('.posterbtn1')
    .magnificPopup({
        type:'inline',
        midClick: true // Allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source in href.
    }) 
1
Jordan Lipana 29 Oktober 2019, 12:42