Javascript 如何为使用while循环显示的每个输入按钮创建单独的单击事件

Javascript 如何为使用while循环显示的每个输入按钮创建单独的单击事件,javascript,php,jquery,loops,mysqli,Javascript,Php,Jquery,Loops,Mysqli,我在一个表中列出了数据库中的用户。对于每个用户;有一个“批准”和“拒绝”按钮。 我想把我的代码放在这样一种方式,当我为每个用户单击每个按钮时,只有批准或拒绝事件会影响该特定用户?我的桌子看起来像这样: 现在,当我在一个用户上单击“批准”时,也会触发另一个用户的批准事件。这是我的批准代码: $sql = "select * from user_table ORDER BY date_registered DESC LIMIT 10"; if(mysqli_num_rows($result) &g

我在一个表中列出了数据库中的用户。对于每个用户;有一个“批准”和“拒绝”按钮。 我想把我的代码放在这样一种方式,当我为每个用户单击每个按钮时,只有批准或拒绝事件会影响该特定用户?我的桌子看起来像这样:

现在,当我在一个用户上单击“批准”时,也会触发另一个用户的批准事件。这是我的批准代码:

$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);
$sql=“按日期从用户表中选择*订单\u注册描述限制10”;
如果(mysqli_num_行($result)>0)
{
while($row=mysqli\u fetch\u assoc($result)){
$emailadr=$row[“email”];
$ADRESS[]=$emailadr;
回声“;
回声“;
echo$row[“firstname”];
回声“;
回声“;
echo$row[“lastname”];
回声“;
回声“;
echo$row[“idnumber”];
回声“;
回声“;
echo$行[“资格”];
回声“;
回声“;
echo$行[“dofa”];
回声“;
回声“;
echo$行[“注册日期”];
回声“;
回声“;
回应“批准-拒绝”;
回声“;
回声';
}
如果(isset($_POST['approve'])){
//已批准的用户ID现在位于$\u POST['approve']
邮件($ADRESS[$row[“用户id”]],'subect
1’,“批准”和“来自:email@example.com');
}elseif(isset($_POST['reject'])){
// 
}
}
印刷(地址);

插入新用户时,通常会有一个与每行或每个用户(通常称为ID)相关的自动递增列。您可以通过几种方式来执行此操作,首先需要包括该ID或值,以便知道要更改的用户:

创建您的按钮:

<button name="approve" value="5"> Approve</button>
<button name="reject" value="5"> Reject</button>
要获得
$adress
,需要在循环外部分配它。还将
$adreses[]
更新为
数组推送($adreses,$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);

?>

插入新用户时,通常会有一个与每行或每个用户(通常称为ID)相关的自动递增列。您可以通过几种方式来执行此操作,首先需要包括该ID或值,以便知道要更改的用户:

创建您的按钮:

<button name="approve" value="5"> Approve</button>
<button name="reject" value="5"> Reject</button>
要获得
$adress
,需要在循环外部分配它。还将
$adreses[]
更新为
数组推送($adreses,$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);

?>


是。。传递contentid或某些唯一标识符将解决此问题。

是。。传递contentid或某种唯一标识符可以解决这个问题。

jquery中的事件是javascript吗?plz添加html代码&解释关于php代码的更多信息我在上面添加了一个更新的代码。感谢jquery中的事件,javascript?plz添加html代码&解释关于php代码的更多信息我在上面添加了一个更新的代码。谢谢,谢谢。我确实分析了按钮中的id,但仍然得到相同的结果。我不知道这是否是因为我在调用提交事件,而我仍然在while循环中?我应该在循环之外调用submit事件吗?如果是这样,我将如何存储用户id以避免代码中出现“未定义索引”错误?如果要使用它,您需要在while之外定义
$adress
$adreses[$row[“user\u id”]]
也不是你想要的,$row可能会给你最后一行,我们正在发送用户id,
$\u POST['approve']
将变成
$adreses[$\u POST[“approve”]
我很抱歉现在听起来很愚蠢。我正在努力定义while循环之外的$addresses。它选择最后一个地址,如您所示。但我不知道如何将这些值存储在变量中。我有这样一个问题:如果(isset($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\email@example.com“);}就在print_r()函数的下面,但它仍然会选择最后一个地址。非常感谢。我仍然为最后一个索引执行代码。我进行了打印($\u POST),得到的结果是:数组([approve]=>2)。这是否也意味着我必须在数组中存储$\u POST?
$\u POST
仅在您单击按钮时发送<代码>变量转储($ADRESS)在邮件和post结果之后,它应该会收集所有电子邮件谢谢。我确实分析了按钮中的id,但仍然得到相同的结果。我不知道这是否是因为我在调用提交事件,而我仍然在while循环中?我应该在循环之外调用submit事件吗?如果是这样,我将如何存储用户id以避免代码中出现“未定义索引”错误?如果要使用它,您需要在while之外定义
$adress
$adreses[$row[“user\u id”]]
也不是你想要的,$row可能会给你最后一行,我们正在发送用户id,
$\u POST['approve']
将变成
$adreses[$\u POST[“approve”]
我很抱歉现在听起来很愚蠢。我正在努力定义while循环之外的$addresses。它选择最后一个地址,如您所示。但我不知道如何将这些值存储在变量中。我有这样一个问题:如果(isset($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\email@example.com“);}就在print_r()函数的下面,但它仍然会选择最后一个地址。非常感谢。我仍然为最后一个索引执行代码。我进行了打印($\u POST),得到的结果是:数组([approve]=>2)。这是否也意味着我必须在数组中存储$\u POST?
$\u POST
仅在您单击按钮时发送<代码>变量转储($ADRESS)在邮件和post结果之后,它应该收集所有的电子邮件