简体   繁体   中英

Import Facebook friends list to mysql database using php

I am building a small facebook app for my website. Using the Facebook friends API I am able to get a list of friends of the user. Now I want to see if any of his friends are already members in my site if yes I connect them as friends in my site.

I have a user table which has two columns:

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

I want to run a check of all the friends id given by facebook and see if they have a user id in my site if yes link them as friends.

I get the facebook friends list as JSON format which might run to few thousands. This is the form in which i get it.

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

How do i compare this against MySQL table in my database. Is it possible to create a temporary table and import the JSON values and do the comparison. If so how? or if there is a better method pls suggest. Kindly share any sample code you might have.

Using json_decode() , put all your user's friend facebook ids in an array, then use the IN SQL keyword :

$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); 

Better performance : to PHP the logic, to SQL the data and search.

convert the array from json object to a php array and check each item of the array with each tuple of your table. simple. if you understood what i want to say then its okay, else comment back to get a code example from my side.


UPDATES

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

The result is a 2d array. so now you can easily compare the array contents with the data that you fetch from your records:

$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

}   

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM