Импортируйте список друзей Facebook в базу данных MySQL, используя php - PullRequest
0 голосов
/ 21 марта 2011

Я создаю небольшое приложение для своего сайта на Facebook.Используя API друзей Facebook, я могу получить список друзей пользователя.Теперь я хочу посмотреть, есть ли кто-нибудь из его друзей уже на моем сайте, если да, я подключаю их как друзей на своем сайте.

У меня есть таблица пользователей с двумя столбцами:

User id | Facebook id 
---------------------
   8901 |    98764021

Я хочу выполнить проверку всех идентификаторов друзей, предоставленных Facebook, и посмотреть, есть ли у них идентификатор пользователя на моем сайте, если да, связать их как друзей.

Я получаю список друзей на Facebook в формате JSON, который может достигать нескольких тысяч.Это форма, в которой я ее получаю.

{
    "name": "Chris Anderson",
    "id": "401085912"
}

Как мне сравнить это с таблицей MySQL в моей базе данных.Можно ли создать временную таблицу и импортировать значения JSON и сделать сравнение.Если так, то как?или, если есть лучший метод, пожалуйста, предложите.Пожалуйста, поделитесь любым примером кода, который у вас может быть.

Ответы [ 2 ]

3 голосов
/ 21 марта 2011

Используя json_decode(), поместите все идентификаторы друзей вашего пользователя в Facebook в массив, а затем используйте ключевое слово IN SQL:

$facebook_ids = array( 25364646, 2353634646, 2352352335) //example array
$sqlized_ids = implode(', ', $facebook_ids);

$sql_query = 'SELECT user_id FROM user_facebook_table WHERE facebook_id IN ('.$sqlized_ids.')'; 
$friends_in_your_db = $res= mysql_query($sql_query); 

Лучшая производительность: PHP логика, SQL данные и поиск.

0 голосов
/ 21 марта 2011

конвертирует массив из объекта json в массив php и проверяет каждый элемент массива с каждым кортежем вашей таблицы.просто.если вы поняли, что я хочу сказать, тогда все в порядке, а затем прокомментируйте, чтобы получить пример кода с моей стороны.


ОБНОВЛЕНИЯ

<?php
$json = '{ "name": "Chris Anderson", "id": "401085912" }';
$arr=new array();
$arr=var_dump(json_decode($json, true));
?>

Результатом является 2d массив.так что теперь вы можете легко сравнить содержимое массива с данными, которые вы извлекаете из своих записей:

$query= "select * from user_details"; //this is the query to pick all data from your table
$res= mysql_query($query);
while($arr_db=mysql_fetch_assoc($res))
{

//compare the current values of the $arr_db with the full $arr array

}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...