jQuery Всплывающее окно не работает с выводом из PHP - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь исправить эту форму скрипта, чтобы всплывающее окно каждого изображения соответствовало текстам. На самом деле это всплывающее окно со всем текстом в 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>';

?>

Пожалуйста, посмотрите. С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 27 февраля 2020

Ваш второй l oop не может перебрать объект mysqli_result. Вам нужно либо повторить итерацию результатов, используя mysqli_fetch_assoc, либо лучшим решением будет временное сохранение вывода всех модальных значений в массиве во время итерации, а затем через некоторое время l oop, вывод его. Кроме того, используйте целочисленную переменную, чтобы увеличить ее в течение while l oop и назначить в качестве суффикса для модального идентификатора, который будет дифференцировать модальный для каждой записи:

<?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;
}



?>
...