【问题标题】:how to update status in friends table from pending to accepted?如何将好友表中的状态从待处理更新为已接受?
【发布时间】:2011-07-11 10:51:31
【问题描述】:

经过大量谷歌搜索后,我成功发送了添加为好友的请求,假设用户 a 向用户 b 发送了好友请求,并且用户 b 登录,他将看到用户 a 的请求......说只显示他的名字当用户单击该名称时,将打开一个对话框,询问用户是接受还是拒绝该请求,我现在面临的问题是我无法找到如何从待处理更新朋友表状态列接受,即当显示已接受朋友请求的警报消息时,朋友表的状态列应从待处理更新为已接受,如果被拒绝,则应将状态列更新为已拒绝

请指导我完成这个

<script>

        $(function(){
            $("#shortthemes a").click(function(e){
                e.preventDefault();
                $("link#theme").attr('href',$(this).attr('href'));
                $("#shortthemes a").removeClass('selected');
                $(this).addClass('selected');
            });
        });


        function tstconfirm(){
            smoke.confirm('Confirm as Friend !',function(e){
                if (e){
                    alert('Friend Request Accepted');

                }else{
                    alert('Friend Request Rejected');
                }
            });
        }

</script>

【问题讨论】:

  • 尝试发送你朋友的 id 作为参数。我通过 AJAX 请求做到了这一点。
  • Nitish你能粘贴代码你是怎么用ajax请求做的吗?

标签: php system friend


【解决方案1】:

向处理您的 Post-request 并更新数据库的 PHP 文件发布帖子:

  <script>

    $(function(){
        $("#shortthemes a").click(function(e){
            e.preventDefault();
            $("link#theme").attr('href',$(this).attr('href'));
            $("#shortthemes a").removeClass('selected');
            $(this).addClass('selected');
        });
    });


    function tstconfirm(){
        smoke.confirm('Confirm as Friend !',function(e){
            if (e){
                alert('Friend Request Accepted');
                $.post('friend_actions.php', {pk_friendrequest_id: fk_partner_id.val(), action: 'accept_request'}, function(data){  if (data.length > 100) { alert(data); } else { window.location.replace(data) }; });

            }else{
                alert('Friend Request Rejected');
                $.post('friend_actions.php', {pk_friendrequest_id: fk_partner_id.val(), action: 'reject_request'}, function(data){  if (data.length > 100) { alert(data); } else { window.location.replace(data) }; });

            }
        });
    }

在你的friend_actions.php中添加:

    if ($_POST['action'] == 'accept_request') {
     $qry = "UPDATE friend_request SET status = 'Accepted' WHERE pk_friendrequest_id = '.$_POST['pk_friendrequest_id'];

     $db = mysql_connect('YOUR_DB_ADDRESS','YOUR_DB_USER','YOUR_DB_PASS') or die("Database error");
     mysql_select_db('YOUR_DB', $db);

     mysql_query($qry);     

echo "index.php"; //Or any other page where you want the user to go after completion
    }

    if ($_POST['action'] == 'reject_request') {
     $qry = "UPDATE friend_request SET status = 'Rejected' WHERE pk_friendrequest_id = '.$_POST['pk_friendrequest_id'];

     $db = mysql_connect('YOUR_DB_ADDRESS','YOUR_DB_USER','YOUR_DB_PASS') or die("Database error");
     mysql_select_db('YOUR_DB', $db);

     mysql_query($qry);     

echo "index.php"; //Or any other page where you want the user to go after completion
    }

PHP 文件返回一个 URL。 Javascript 检查响应是否小于 100 个字符(否则可能是错误并提醒它进行调试),如果是,它会将您重定向到 URL。

【讨论】:

  • 伙计我的朋友表的 sql 模式包含 user_id 朋友 ID 状态,例如 user_id = 1 朋友 ID = 4 状态 = 待定然后根据你 pk_friendrequest_id: fk_partner_id.val() 是否应该更改为 pk_friendrequest_id: user_id .val() ?如果是这样,我进行了此更改,但当用户单击“确定”或更确切地说,当用户单击“取消”时,它不会将我的朋友表状态更新为已接受,它不会将其更新为已拒绝。
  • 首先,这当然是一个例子。您需要将所有列名更改为您自己的名称。 fk_partner_id 是我自己的脚本中的一列,我从中复制了它。我忘记改名字了。通过这个例子,我试图给你一个正确的方向。我向您展示了如何使用 Jquery 将值从表单推送到 PHP 脚本。由您自己填写详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多