我正在检索facebook好友列表,但它检索了十亿张照片(夸张)。我想知道如何在foreach循环中添加分页?另外,我的PHP编码是否是检索好友列表的最佳方式?
$user_friends = $facebook->api("/me/friends");
foreach ($user_friends as $friends) {
foreach ($friends as $friend) {
// do something with the friend, but you only have id and name
$id = $friend['id'];
$name = $friend['name'];
echo "<img src='https://graph.facebook.com/".$id."/picture' title='".$name."'>";
echo $name;
}
我需要某种jquery来进行分页吗?谢谢!
答案 0 :(得分:2)
您可以在FQL查询中使用ORDER BY和LIMIT关键字来制作它,这样您就只能获得照片的子集。
像(伪代码)
之类的东西$lastid = 0;
do
{
$photos = fql("SELECT id from photos where id > $lastid ORDER BY id LIMIT 100")
foreach $photo in $photos
{
... do stuff ...
$lastid = $photo->id;
}
} while ($photos.count > 0)
基本上,您将查询限制为100个照片块,并通过订购ID来跟踪您的位置。