2011-10-24 42 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) –