Таким образом, в соответствии с заголовком, я пытаюсь передать несколько данных из базы данных, используя sql в bootstrap modal. Идентификатор будет передан из ссылки, как это делается? находили несколько путей, но я все еще не могу показать выбранные данные;
Итак, вот триггер для модального:
<?php while($row = mysqli_fetch_array($adm_query)){ $id = $row['admin_id']; ?> <tr> <td style="text-align:center"><?php echo $row['adm_name']; ?></td> <td width="150" style="text-align:center"><?php echo $row['staff_no']; ?></td> <td width="120" style="text-align:center"><?php echo $row['department']; ?></td> <td width="138" style="text-align:center;"> <a data-toggle="modal" data-target="#myModal" data-id="<?php echo $row['admin_id']?>" class="btn btn-outline btn-info"><i class="fa fa-search-plus"></i></a> </td> <?php }?>
Тогда это модальное содержание:
<!-- Modal --> <div style="margin-top:5%;" class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <?php $sel_query=mysqli_query($conn, "select * from admin where admin_id='$idmodal'")or die(mysql_error($conn)); $selrow=mysqli_fetch_array($sel_query);?> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> <div class="panel panel-info" style="text-align:center;"> <div class="panel-heading"> <h4>Staff Details</h4> </div> <div class="panel-body"> <div class="row"> <div class="col-lg-6"> <div class="form-group"> <label>Staff ID</label> <p> <?php echo $selrow[ 'staff_no']?> </p> </div> <div class="form-group"> <label>Name</label> <p> <?php echo $selrow[ 'adm_name']?> </p> </div> <div class="form-group"> <label>Services | Department</label> <p> <?php echo $selrow[ 'department']?> </p> </div> </div> <!-- /.col-lg-6 (nested) --> <div class="col-lg-6"> <div class="form-group"> <label>Username</label> <p> <?php echo $selrow[ 'username']?> </p> </div> <div class="form-group"> <label>Password</label> <p> <?php echo $selrow[ 'password']?> </p> </div> <div class="form-group"> <label>Date</label> <p> <?php echo $selrow[ 'date_added']?> </p> </div> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> <!-- /.modal-content --> </div>
Проблема в том, что ничего не работает, и я не знаю, с чего начать. Цените помощь.
Создайте один класс openModal
в <a></a>
. Используйте этот класс в <script></script>
чтобы получить data-id
<?php while($row = mysqli_fetch_array($adm_query,MYSQLI_ASSOC)){ $id = $row['admin_id']; ?> <tr> <td style="text-align:center"><?php echo $row['adm_name']; ?></td> <td width="150" style="text-align:center"><?php echo $row['staff_no']; ?></td> <td width="120" style="text-align:center"><?php echo $row['department']; ?></td> <td width="138" style="text-align:center;"> <a class="btn btn-outline btn-info openModal" data-toggle="modal" data-target="#myModal" data-id="<?php echo $row['admin_id']?>"> <i class="fa fa-search-plus"></i> </a> </td> </tr> <?php }?>
Разместите этот код на той же странице ниже.
<div style="margin-top:5%;" class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"></div> </div> </div>
Здесь передается JS ( data-id=..
).
<script> $('.openModal').click(function(){ var id = $(this).attr('data-id'); $.ajax({url:"ajax_modal.php?id="+id,cache:false,success:function(result){ $(".modal-content").html(result); }}); }); </script>
ajax_modal.php (Создайте одну страницу в том же каталоге ajax_modal.php . Если вы хотите изменить название этой страницы, замените <script></script>
. Оба связаны друг с другом.)
<?php // Get `id` from `<script></script>` $id = $_GET['id']; $sel_query=mysqli_query($conn, "select * from admin where admin_id='$id'") or die(mysql_error($conn)); $selrow=mysqli_fetch_array($sel_query,MYSQLI_ASSOC); ?> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">Modal title</h4> </div> <div class="modal-body"> <div class="panel panel-info" style="text-align:center;"> <div class="panel-heading"> <h4>Staff Details</h4> </div> <div class="panel-body"> <div class="row"> <div class="col-lg-6"> <div class="form-group"> <label>Staff ID</label> <p> <?php echo $selrow[ 'staff_no']?> </p> </div> <div class="form-group"> <label>Name</label> <p> <?php echo $selrow[ 'adm_name']?> </p> </div> <div class="form-group"> <label>Services | Department</label> <p> <?php echo $selrow[ 'department']?> </p> </div> </div> <!-- /.col-lg-6 (nested) --> <div class="col-lg-6"> <div class="form-group"> <label>Username</label> <p> <?php echo $selrow[ 'username']?> </p> </div> <div class="form-group"> <label>Password</label> <p> <?php echo $selrow[ 'password']?> </p> </div> <div class="form-group"> <label>Date</label> <p> <?php echo $selrow[ 'date_added']?> </p> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div>
Для дополнительной информации щелкните здесь
Напишите ниже в своем коде:
$selrow=mysqli_fetch_assoc($sel_query);
ИЛИ
$selrow=mysqli_fetch_array($sel_query,MYSQLI_ASSOC);
вместо
$selrow=mysqli_fetch_array($sel_query);
Также плохой практикой является запись запроса непосредственно в модальный.
Вы должны использовать AJAX при клике. Также вы должны заполнить данные формы через jQuery ИЛИ javascript.