Javascript 如何使用带有动态接受好友按钮的ajax post更新更多表?

Javascript 如何使用带有动态接受好友按钮的ajax post更新更多表?,javascript,php,ajax,Javascript,Php,Ajax,我有一个PHP文件来接受朋友的请求 PHP session_start(); include 'db.php'; error_reporting(0); $username= $_SESSION['username']; $i=1; $sql = "SELECT * FROM friends WHERE user2='$username' AND accepted='0' ORDER BY datemade DESC"; $user_query = mysqli_query($db, $sql)

我有一个PHP文件来接受朋友的请求

PHP

session_start();
include 'db.php';
error_reporting(0);
$username= $_SESSION['username'];
$i=1;
$sql = "SELECT * FROM friends WHERE user2='$username' AND accepted='0' ORDER BY datemade DESC";
$user_query = mysqli_query($db, $sql);
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
echo "<center><p style='padding-left:0px;'>no more friend requests!<p></center>";
}
while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) {
$user1 = $row["user1"];
$logged_user= $row["user2"];
$i++;
?>

这里的问题是,如果用户收到多个好友请求,那么他只能接受第一个好友请求,而其他接受按钮不起作用。刷新页面后,只有“下一个接受”按钮起作用。只需刷新一次页面即可接受一个好友请求。

使用
class
而不是
id
。因为id是唯一的。所以你的HTML应该是这样的

<span class="accepted">Accepted</span>
$(function(){
  $('.accepted').on("click", function(){
     var ths = $(this);
     var I = ths.attr("id");
     var rcv_user = $(ths).siblings("#rcv_user").val();
     var snd_usr = $(ths).siblings("#snd_usr").val();
     var response = $(ths).siblings("#response").val();
     $.post("respond_friend.php", {rcv_user:rcv_user, snd_usr:snd_usr, response:response},
     function(value){
        $('#child').css('background-color', 'white');
        $("#submit").hide();
        $("#ignore").hide();
        $("#or").hide();
        $("#accepted").show();
    });  
  })
})

谢谢你的回复!但仍然存在的问题是,当一个朋友请求被接受时,数据库中的值会被更新,但所有朋友请求都会成功地被接受,并且只会显示第一个请求的背景技术,即使我接受了任何其他请求
<span class="accepted">Accepted</span>
<span id="accepted" class="" style="display:none">Accepted</span>
$(function(){
  $('.accepted').on("click", function(){
     var ths = $(this);
     var I = ths.attr("id");
     var rcv_user = $(ths).siblings("#rcv_user").val();
     var snd_usr = $(ths).siblings("#snd_usr").val();
     var response = $(ths).siblings("#response").val();
     $.post("respond_friend.php", {rcv_user:rcv_user, snd_usr:snd_usr, response:response},
     function(value){
        $('#child').css('background-color', 'white');
        $("#submit").hide();
        $("#ignore").hide();
        $("#or").hide();
        $("#accepted").show();
    });  
  })
})