2011-10-24 38 views
0

我希望帮助这个脚本:如何使用php/ajax/jquery编写好友请求?

我有一个名为成员页,我想要这个剧本时做的一员,我们是说,成员A上运行此脚本,通过点击按钮发送好友请求时,第一状态改变的东西说“要求......”,那么脚本将通过这个脚本到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是电子邮件接收请求
  • 计数器是发送给会员

但是每个请求的请求计数的电子邮件,我的剧本的问题是它只允许点击一次请求按钮,因为即使某个成员没有发送任何请求,它也会更改所有成员的状态,因为页面上有多个成员发布的帖子。即成员A向B发送请求,状态应该显示请求已经发送但是成员C登录成员A/B请求的状态仍然显示,我想要一种让状态成为每个成员独占的方式,状态只应该如果请求已被发送,则显示特定的记忆,否则状态具有默认值。

这是我的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,使$更新只更新一个表名为UPD状态请求到B,而B和C或C到D保持默认值,因为还没有发送请求。所以当$ request被回应时,它只根据请求状态携带成员的请求状态,即如果有请求,则为X,如果没有请求,则为Y,如果请求被接受,则为Z.

回答

1

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

$.get('requests.php' , {email_cont: "[email protected]", cont_email: "[email protected]", counter: "counter..", function(data){ 
     $('#connectButton').val(data); 
     $('#connectButton').unbind('click'); 
}); 
+0

由于萨布里,每一件事情是做工精细,现在只是表明点击()事件被激活一次,然后它的多个数据发布到对数据库页面元素的数量,关于如何使每个元素的点击事件唯一的任何指南,并允许事件绑定到其他元素,以防您想发送多个连接而不发送多个数据?谢谢你的帮助。 –

+0

那么你只需要使它成为一个函数并在每个元素上调用它呢? 我不确定这是你想要什么,因为我不懂英语只有代码:p [我很高兴能帮到你。](http://youlinks.tv) –

+0

你好斯坦利你可以打勾我的回答是正确的? (投票时你有“nick”simbole:D点击它:D) –