jQuery Popup无法使用PHP的输出

问题描述 投票:0回答:1

我正在尝试纠正此脚本形式的弹出窗口,每个图像均带有相应的文本。实际上,它会弹出并带有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>';

?>

请看一下。最好的问候。

php jquery mysql modal-dialog
1个回答
0
投票

您的第二个循环无法遍历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;
}



?>
© www.soinside.com 2019 - 2024. All rights reserved.