我有一个查询,用于选择数据库中未批准的所有用户。
$query = "SELECT * FROM users WHERE approved = '0';
$data = mysqli_query($dbc, $query);
然后,我想要做的是在一个表格中显示该人员列表,该表格中有一个列,其中包含一个复选框以批准该人员。
<table class="table mb-none">
<thead>
<tr>
<th>Picture</th>
<th>Username</th>
<th>Profile Type</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Phone Number</th>
<th>Approve</th>
<th>Deny/Delete</th>
</tr>
</thead>
<tbody>
<?php
while($row = mysqli_fetch_array($data)){
echo '<tr>'
echo '<td><img width="70px" height:"90px" src="' . EHS_UPLOADPATH_STUDENTS . $row['picture'] . '"/></td>';
echo '<td>' . $row['username'] . '</td>';
echo '<td>Student</td>';
echo '<td>' . $row['first_name'] . '</td>';
echo '<td>' . $row['last_name'] . '</td>';
echo '<td>' . $row['email'] . '</td>';
echo '<td>' . $row['phone_number'] . '</td>';
echo '<td style="text-align:center; padding:20px; background-color:#DFF0D8;">';
echo '<input type="checkbox" name="approve[]" value = "'.$row['user_id'].'"></td>';
echo '<td style="text-align:center; padding:20px; background-color:#FCDEDE;"><a href="profile_delete_info.php?user_id='. urlencode($row['user_id']) . '&first_name=' . urlencode($row['first_name']) . '&last_name=' . urlencode($row['last_name']) .'"><button type="button" class="mb-xs mt-xs mr-xs btn btn-danger">Deny/Delete</button></a> </td>';
echo '</tr>';}
这就是我试图处理这个问题的方法:
if(isset($_POST['submit'])){
if(!empty($_POST['approve'])){
$users = $_POST['approve'];
foreach($users as $user){
$query = "UPDATE users SET approved = '1' WHERE user_id = '". $user . "'";
mysqli_query($dbc, $query);}}} ** here goes the rest of the code
现在,我遇到的问题是当我点击&#34;批准&#34;复选框并点击&#34;提交&#34;只处理数组批准[]中的第一项而不是其余项。我不知道为什么。我在过去的2个小时里一直在考虑这个问题而无法解决这个问题。
答案 0 :(得分:0)
尝试以下方法:
if(isset($_POST['submit'])){
if(!empty($_POST['approve'])){
foreach($_POST['approve'] as $user){
$query = "UPDATE users SET approved = '1' WHERE user_id = '". $user . "'";
mysqli_query($dbc, $query);}}} ** here goes the rest of the code
如果这不起作用,请执行print_r($ _ POST [&#39;批准&#39;])并查看该数组的内容。
答案 1 :(得分:0)
我找到了解决方案......我为#&#34; foreach&#34;在错误的地方。谢谢你的帮助!