如何使用php / ajax / jquery编写朋友请求的脚本?

时间:2011-10-24 04:41:17

标签: php jquery ajax

感谢您对此脚本的帮助:

我在一个名为members的页面上有这个脚本,我希望这个脚本做的是当一个成员,比如成员A,通过点击按钮发送好友请求时,首先状态变为'request'。 。',然后脚本通过脚本将请求发送到php,这就是我所拥有的:

      <script type="text/javascript">
       var email_cont = '<?=$mem_com[email]?>';
       var cont_email = '<?=$_SESSION[email]?>';

   $('#connectButton').click(function() { 
   var counter = 0;
  $.ajax({
   url: 'requests.php?         cont_email='+cont_email+'&email_cont='+email_cont+'&counter='+counter,
         success: function( data ) {
             $('#connectButton').val(data); // set the button value to the new status.
              $('#connectButton').unbind('click');   

     }
      });
      });
   </script>

为清楚起见:

  • 该按钮具有从数据库中调用的默认值。
  • cont_email是发送请求的成员的电子邮件
  • email_status是接收请求的电子邮件
  • counter是发送给成员的每个请求的请求计数

然而,我的脚本问题是它只允许点击请求按钮,因为页面上的成员有多个帖子,因为它改变了所有成员的状态,即使特定成员没有发送任何成员请求。即成员A向B发送请求,状态应该显示请求已经发送但是成员C登录成员A / B请求的状态仍然显示,我想要一种方式使每个成员的状态独占,状态应该只如果请求已被发送,则显示特定的memeber,否则状态具有默认值。

这是我的PHP代码:

$email_cont = $_GET['email_cont'];
$cont_email = $_GET['cont_email'];
$counter = $_GET['counter'];
$status = "Connection Sent!";

$insert = mysql_query("INSERT INTO reqst VALUES ('','$cont_email','$email_cont','$status', '$counter', NOW())");


if(!$insert) {
    //If it fails to run the SQL return an error.
    echo "Connection Failed!";
} else {
    $update = mysql_query("UPDATE upd SET request ='$status' WHERE  email ='$email_cont'");
    //If all goes well, return the status
    echo $request;
}

我需要一种方法将成员A和B之间的请求从成员B分离到C,这样$ update只更新A到B的名为upd status的表,而B和C或C到D保持默认值因为还没有发送请求。因此,当$ request被回显时,它只根据请求状态携带成员的请求状态,即如果请求则为X,如果没有请求则为Y,如果请求被接受则为Z.

1 个答案:

答案 0 :(得分:1)

使用jQuery $.get函数向requests.php发送get请求

$.get('requests.php' , {email_cont: "name@domain.com", cont_email: "name@domain.com", counter: "counter..", function(data){
      $('#connectButton').val(data); 
      $('#connectButton').unbind('click'); 
});