PHP bootstrap 每行4个模态删除按钮

PHP bootstrap 4 modal delete button in each row

美好的一天!我收到一个错误 "Undefined variable: id".

我创建了一个 table,它在每一行中都有一个删除按钮,单击时会弹出一个模式并询问我是否要删除该行。但是当我点击删除按钮时,它会显示错误 Undefined variable: id 并且不会删除数据。

这是我的 table 代码:

if(isset($_POST['delete'])) {
        $data->delete_multiple($id, $conn);

    }

    <table class="table table-hover table-bordered" id="table1">
                                    <thead>
                                        <tr>
                                            <th>Faculty Code</th>
                                            <th>Last Name</th>
                                            <th>First Name</th>
                                            <th>Middle Name</th>
                                            <th>Position</th>
                                            <th></th>
                                            <th>Status</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php  while ($row = $result -> fetch_object()): ?>
                                        <tr>
                                            <td><?php echo  $row->Faculty_ID;?></td>
                                            <td><?php echo $row->Faculty_Lastname ?></td>
                                            <td><?php echo $row->Faculty_Firstname ?></td>
                                            <td><?php echo $row->Faculty_Middlename?></td>
                                            <td><?php echo $row->Position; ?></td>
                                            <td class="text-center">
                                                <a  class="btn btn-sm btn-outline-primary text-muted" href="Faculty_edit.php?Faculty_ID=<?php echo $row->Faculty_ID;?>">Edit</a>
                                                <a type="button"  title="Delete Faculty" data-toggle="modal" data-target="#delete_modal"  class="btn btn-sm btn-outline-danger" >Delete</button></td>
                                            <td>
                                                <?php if($row->Status=='Active') echo '<a href="#deactive_account" data-toggle="modal" data-id='.$row->Faculty_ID.' class="activate" style="color:green;">Active</a>'; ?>
                                                <?php if($row->Status=='Inactive') echo '<a href="#active_modal" data-toggle="modal" data-id='.$row->Faculty_ID.' class="activate" style="color:red;">Inactive</a>'; ?>
                                            </td>
                                        </tr>
                                        <?php endwhile; ?>
                                    </tbody>
                                </table>

我的模态代码:

<div class="modal fade" id="delete_modal" role="dialog">
                      <div class="modal-dialog">
                        <div class="modal-content">
                          <!-- Modal Header -->
                          <div class="modal-header">
                            <h4 class="modal-title">Delete Confirmaiton</h4>
                            <button type="button" class="close" data-dismiss="modal">&times;</button>
                          </div>
                          <!-- Modal body -->
                          <div class="modal-body">
                            <div class="alert alert-danger" role="alert">
                              Are you sure you want to delete selected record?
                            </div>
                          </div>
                          <!-- Modal footer -->
                          <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">No</button>
                            <button type="submit" class="btn btn-danger" name="delete">Yes</button>
                          </div>
                        </div>
                      </div>
                    </div>

删除函数代码:

 function delete_multiple($id, $conn){


         $id = $_POST['delete'];
         $sql = "DELETE FROM faculty WHERE Faculty_ID=? ";
            $stmt = $conn->prepare($sql);
            $stmt->bind_param("i", $id);
            $stmt->execute();    
        }

那是因为您没有将行 ID 传递给模式弹出窗口。

将教师 ID 添加到您的删除按钮,并向其添加一个唯一的 class 'delete-faculty-btn'。参考到线下

<a type="button" data-fid="<?php echo  $row->Faculty_ID;?>" title="Delete Faculty" data-toggle="modal" data-target="#delete_modal"  class="btn btn-sm btn-outline-danger delete-faculty-btn" >Delete</button></td>

将模态弹出页脚更改为:-

<div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">No</button>
                        <input type="hidden" name="delete" value="" id="row-id-to-delete" />
                        <button type="submit" class="btn btn-danger" >Yes</button>
                      </div>

并添加以下 Javascript 脚本:-

$(document).on('click', '.delete-faculty-btn', function(){
    $("#row-id-to-delete").val($(this).data('fid'));
});

我的假设是 HTML 表单中的模式弹出窗口中有提交按钮。