当点击Facebook Like按钮时,使用Ajax通过PHP运行MySQL查询

时间:2011-06-17 00:21:07

标签: php javascript mysql ajax facebook-like

每次在页面上点击Facebook Like按钮时,我想运行MySQL查询。我已经知道FB.Event.subscribe('edge.create', function(response) {}用于在单击Like按钮时执行某些操作。我的问题是我不知道Javascript / AJAX。我可以在FB.event的大括号中使用简单的Javascript / AJAX代码,它只会运行下面的MySQL查询?我的理解是我可能需要获得某种JQuery库,这很好。

提前致谢,

约翰

页面上的相关代码:

<script src="http://connect.facebook.net/en_US/all.js"></script>

<?php


session_start();

$uid = $_SESSION['loginid'];

$_SESSION['submissionid'] = $submissionid;

echo '<div id="fb-root"></div>';
echo "<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id', status: true, cookie: true,
             xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
echo '</script>";

echo '<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">';

echo '<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="" send="true" layout="button_count" width="450" show_faces="false" font="arial"></fb:like>';

每次单击Like按钮时我想运行的MySQL查询:

mysql_query("INSERT INTO fblikes VALUES (NULL, '$submissionid', '$uid', NULL)");

2 个答案:

答案 0 :(得分:0)

(1)添加调用updateMe()的onclick动作到按钮。

(2)*创建一个函数updateMe()

function updateMe() {
    $.post("/path/to/your/updatefile.php", {sid: Math.random()}, function(){});
}

(3)创建一个文件“updatefile.php”,它保存并执行你的mysql查询。

  • 我看到你在会话中保存了详细信息,所以我没有举例说明如何通过updateMe()函数传递它们。

答案 1 :(得分:0)

使用jQuery

$.ajax({
   url: "test.html", // the url of your php script
   context: document.body,
   success: function(){
      // if you want something to be executed when a result comes back
   }
});