Я пытаюсь загрузить комментарии определенного сообщения по модальному. Для этого мне нужно передать идентификатор сообщения в модальный, а затем получить соответствующие комментарии. Модаль запускается следующим образом:
<a class="xyz" data-toggle="modal" data-target="#compose-modal" data-id="<?php echo $list[$i]->getID(); ?>">View Comments</a>
И модальный определяется в нижней части страницы следующим образом:
<div class="modal fade" id="compose-modal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <!-- here i need to use php to fetch the comments using post id --> </div> </div> </div>
PHP выполняется до возврата страницы в браузер. Когда вы увидите страницу в своем браузере, все PHP уже выполнены. Что вы, вероятно, хотите сделать, это использовать AJAX. Вот общая схема того, как вы это сделаете:
Имейте страницу PHP, которая принимает идентификатор и возвращает данные, которые вы хотите, как JSON.
api.php
$theId = $_POST['theId']; //Get the information you want, and turn it into an array called $data header('Content-Type: application/json'); echo json_encode($data);
В вашем html вы должны вызвать модальный, используя onclick, прикрепленный к «View Comments»:
<a class="xyz" onclick = "launch_comment_modal(<?php echo $list[$i]->getID(); ?>)">View Comments</a>
затем, внизу с вашим другим javascript:
<script> $('#compose-modal').modal({ show: false}); function launch_comment_modal(id){ $.ajax({ type: "POST", url: "api.php", data: {theId:id}, success: function(data){ //"data" contains a json with your info in it, representing the array you created in PHP. Use $(".modal-content").html() or something like that to put the content into the modal dynamically using jquery. $('#compose-modal').modal("show");// this triggers your modal to display }, }); } </script>
Просто передайте контент через ajax с помощью php-страницы и эхо-контент в модальном