Использование Ajax для запуска MySQL-запроса через PHP при нажатии кнопки «Нравится» Facebook - PullRequest
0 голосов
/ 17 июня 2011

Я хотел бы выполнять запрос MySQL каждый раз, когда нажимается кнопка «Нравится» на Facebook. Я уже знаю, что FB.Event.subscribe('edge.create', function(response) {} используется для выполнения чего-либо, когда нажимается кнопка «Мне нравится». Моя проблема в том, что я не знаю Javascript / AJAX. Какой простой код Javascript / AJAX, который я могу, но в фигурных скобках FB.event, который будет просто выполнять запрос MySQL ниже? Насколько я понимаю, мне может понадобиться какая-то библиотека JQuery, и это нормально.

Заранее спасибо,

John

Соответствующий код на странице:

<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>';

Запрос MySQL, который я хотел бы запускать при каждом нажатии кнопки «Мне нравится»:

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

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

Использование 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
   }
});
0 голосов
/ 17 июня 2011

(1) Добавить действие onclick, вызывающее updateMe (), к кнопке.

(2) * Создать функцию updateMe ()

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

(3) «Создать файл»updatefile.php ", который содержит и выполняет ваш запрос MySQL.

  • Я видел, как вы сохраняли детали в сеансе, поэтому я не привел пример, как передавать их через функцию updateMe ().
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...