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">×</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 表单中的模式弹出窗口中有提交按钮。
美好的一天!我收到一个错误 "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">×</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 表单中的模式弹出窗口中有提交按钮。