我在表中列出数据库中的用户。对于每个用户;有一个“批准”和“拒绝”按钮。 我想以这样的方式放置我的代码,当我单击每个用户的每个按钮时,只有批准或拒绝事件应该影响该特定用户?我的表格如下所示:
现在,当我单击一个用户的“批准”时,另一用户的批准事件也会被触发。这是我的批准代码:
$sql = "select * from user_table ORDER BY date_registered DESC LIMIT 10";
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result)){
$emailadr = $row["email"];
$adresses [] = $emailadr;
echo "<tr>";
echo "<td>";
echo $row["firstname"];
echo "</td>";
echo "<td>";
echo $row["lastname"];
echo "</td>";
echo "<td>";
echo $row["idnumber"];
echo "</td>";
echo "<td>";
echo $row["qualification"];
echo "</td>";
echo "<td>";
echo $row["dofa"];
echo "</td>";
echo "<td>";
echo $row["date_registered"];
echo "</td>";
echo "<td>";
echo '<button name="approve" value='. $row["user_id"].'>Approve</button> <button name="reject" value='. $row["user_id"].'>Reject</button>';
echo "</td>";
echo '</tr>';
}
if(isset($_POST['approve'])){
// Approved user ID is now in $_POST['approve']
mail($adresses[$row["user_id"]],'subect
1','approved','From:email@example.com');
}elseif(isset($_POST['reject'])){
//
}
}
print_r($adresses);
最佳答案
插入新用户时,您通常有一个与每一行或用户(通常称为 ID)相关的自动增量列,您可以通过几种方式执行此操作,您需要做的第一件事就是包含该 ID 或值,以便知道哪个要更改的用户:
创建您的按钮:
<button name="approve" value="5"> Approve</button>
<button name="reject" value="5"> Reject</button>
您可以将该值更新为您的用户 ID
然后您可以简单地检查您是否已批准或拒绝该用户:
if(isset($_POST['approve'])){
// Approved user ID is now in $_POST['approve']
}elseif(isset($_POST['reject'])){
// Rejected user ID is now in $_POST['reject']
}
获取$adresses
您需要将其分配到循环之外。还更新了$adresses []
至array_push($adresses, $row["email"]);
只是因为偏好,但如果您愿意,可以改回来。
<?php
$adresses = array();
$sql = "select * from user_table ORDER BY date_registered DESC LIMIT 10";
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)){
array_push($adresses, $row["email"]);
echo "<tr>";
echo "<td>";
echo $row["firstname"];
echo "</td>";
echo "<td>";
echo $row["lastname"];
echo "</td>";
echo "<td>";
echo $row["idnumber"];
echo "</td>";
echo "<td>";
echo $row["qualification"];
echo "</td>";
echo "<td>";
echo $row["dofa"];
echo "</td>";
echo "<td>";
echo $row["date_registered"];
echo "</td>";
echo "<td>";
echo '<button name="approve" value='. $row["user_id"].'>Approve</button> <button name="reject" value='. $row["user_id"].'>Reject</button>';
echo "</td>";
echo '</tr>';
}
if(isset($_POST['approve'])){
mail($adresses[$_POST["approve"]],'subect 1','approved','From:email@example.com');
//update DB to approved
}elseif(isset($_POST['reject'])){
//update DB to rejected
}
}
print_r($adresses);
?>
关于javascript - 如何使用 while 循环为显示的每个输入按钮创建单独的单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54434053/