jQuery 弹出窗口不适用于 PHP 的输出

jQuery Popup not working with output from PHP

我正在寻找更正此脚本形式的弹出窗口,每个图像都有相应的文本。实际上它会弹出 MySQL 中的所有文本。为什么不显示每张图片的相应文字?

<?php
while ( $alaune = mysqli_fetch_assoc( $resultat6 ) ) {
    if ( ! empty( $alaune ) ) {
        echo '<div class="single_iteam"><img alt="" src="changements/une/images/' . $alaune["alaunePic"] . '" class="alaunePic">';
        echo '<div class="slider_article">';
        echo '<h2><a class="slider_tittle" href="#">' . $alaune["alauneTitre"] . '</a></h2>';
        echo '<p class="alaunetexte truncate">' . $alaune["alauneTexte"] . '</p>';

        ?>
        <a href="#" class="modal-trigger" data-modal="modal-name">Lire la suite...</a>
        <?php echo '</div>';

        echo '</div>';
    }
}

echo '</div><div class="modal" id="modal-name"><div class="modal-sandbox"></div><div class="modal-box"><div class="modal-header"><div class="close-modal">&#10006;</div>';

foreach ( $resultat6 as $alaune ) {
    echo '<h1>' . $alaune["alauneTitre"] . '</h1><p>' . $alaune["alauneTexte"] . '</p>';
}
echo '</div>';
echo '<div class="modal-body"><br /><button class="close-modal"> Fermer </button></div></div></div>';

?>

请看。最好的问候。

您的第二个循环无法遍历 mysqli_result 对象。您需要使用 mysqli_fetch_assoc 再次遍历结果,或者更好的解决方案是在 while 迭代期间临时存储数组中所有模态的输出,然后在 while 循环之后输出它。此外,在 while 循环期间使用整数变量对其进行递增,并将其作为后缀分配给模态 ID,这将区分每个记录的模态:

<?php

$modals = [];
$key = 1;
while ( $alaune = mysqli_fetch_assoc( $resultat6 ) ) {
    if ( ! empty( $alaune ) ) {
        echo '<div class="single_iteam"><img alt="" src="changements/une/images/' . $alaune["alaunePic"] . '" class="alaunePic">';
        echo '<div class="slider_article">';
        echo '<h2><a class="slider_tittle" href="#">' . $alaune["alauneTitre"] . '</a></h2>';
        echo '<p class="alaunetexte truncate">' . $alaune["alauneTexte"] . '</p>';

        ?>
        <a href="#" class="modal-trigger" data-modal="modal-name-<?php echo $key;  ?>">Lire la suite...</a>
        <?php echo '</div>';

        echo '</div>';


        $tempModal = '<div class="modal" id="modal-name-' . $key . '"><div class="modal-sandbox"></div><div class="modal-box"><div class="modal-header"><div class="close-modal">&#10006;</div>' .
                 '<h1>' . $alaune["alauneTitre"] . '</h1><p>' . $alaune["alauneTexte"] . '</p></div>' .
                 '<div class="modal-body"><br /><button class="close-modal"> Fermer </button></div></div></div>';


        $modals[]  = $tempModal;

        $key++;
    }
}

echo '</div>';

foreach($modals as $modal){

    echo $modal;
}



?>