Сегодня я задал вопрос, который в двух словах спрашивает, когда пользователь нажимает кнопку на странице – появляется всплывающее модальное сообщение, которое должно получить значение переменной PHP.
Поскольку нет запроса GET или POST при нажатии popup modal btn, что означает, что я не могу получить значение переменной, используя выше двух параметров
попробовал следующее:
`<a id="myid" data-id="<?php echo $userID ?>">link</a> <script> $('#myid').data("id"); </script>`
Теперь у меня есть значение PHP $userID
в переменной javascript. Это приводит меня к моему вопросу, что было бы самым эффективным способом получить переменную $userID
и вставить ее в переменную php.
Дополнительная информация
Я нашел этот вопрос на SO, но на самом деле он не применим ко мне.
Пример изображения того, что я пытаюсь достичь
LOOP GENERATED PHP LIST
$teacherClass = new TeacherSearch(); $teachers = $teacherClass->showAllTeachers(); if (is_array($teachers)) { foreach ($teachers as $teacher) { $src = $teacher['userID']; <div class="teacher-info"> <p class="teacherLabel"> NAME: <?php echo $teacher['name']; ?> </p> <p class="teacherLabel"> HEADLINE: <?php echo $teacher['headline']; ?> <p class="teacherLabel"> LOCATION: <?php echo $teacher['location'] ?> </p> <!--BUTTON GOES HERE--> <a id="myid" data-id="<?php echo $teacher['userID'] ?>" data-toggle="modal" data-target="#myModal">Hire <?php echo $teacher['name'] ?></a> }//foreach
Пример IMG
модальный
<!-- Trigger the modal with a button --> <!-- Modal --> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 id="modalTitle" class="modal-title"></h4> </div> <div class="modal-body"> Need to perform PHP here with $userID variable </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div>
Прежде всего, удалите id="myId"
из <a></a>
. Идентификатор должен быть уникальным. Используйте класс.
First_Page.php
<?php $teacherClass = new TeacherSearch(); $teachers = $teacherClass->showAllTeachers(); if (is_array($teachers)) { foreach ($teachers as $teacher) { $src = $teacher['userID']; ?> <div class="teacher-info"> <p class="teacherLabel"> NAME:<?php echo $teacher['name']; ?> </p> <p class="teacherLabel"> HEADLINE: <?php echo $teacher['headline'];?> </p> <p class="teacherLabel"> LOCATION: <?phpecho $teacher['location'];?> </p> <!--BUTTON GOES HERE--> <a class="openModal" data-id="<?php echo $teacher['userID'] ?>" data-toggle="modal" href="#myModal"> Hire <?php echo $teacher['name']; ?> </a> </div> <?php } }?>
Поместите ниже код в нижнем колонтитуле до конца </body>
.
<div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> </div> </div> </div>
JS
<script> $('.openModal').click(function(){ var id = $(this).attr('data-id'); $.ajax({url:"modal_ajax.php?id="+id,cache:false,success:function(result){ $(".modal-content").html(result); }}); }); </script>
Создайте новый файл modal_ajax.php .
[ ПРИМЕЧАНИЕ. Помните, что это имя страницы modal_ajax.php также используется в теге скрипта. если вы планируете изменить имя этой страницы, измените имя страницы там также в теге скрипта. Оба связаны друг с другом.]
<div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 id="modalTitle" class="modal-title"></h4> </div> <div class="modal-body"> <?php echo "ID: ".$_GET['id'];?> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div>
Уже ответил аналогичный вопрос. Пожалуйста, посмотрите. Передача данных через Modal Bootstrap и получение переменной php?