我正在使用最喜欢的一些页面进入前10名(不要问为什么,这只是我的网站中我的数据库提供的链接的一个选项)
我现在正在这样做,所以我可以从链接中看到所有链接和facebook的数量。现在我想进入前10但不知道如何?我是否需要将它们全部存储起来,在数组中使用新的if语句然后显示它。
你们怎么处理这个?
PHP:
function get_the_fb_like($paginaurl){
$url = $paginaurl; // setting a value in $url variable
$params = 'select comment_count, share_count, like_count from link_stat where url = "'.$url.'"'; // preparing the query for the url
$component = urlencode( $params ); // prepare the url for fetching the information from facebook
$url = 'http://graph.facebook.com/fql?q='.$component; // constructed url
$fbLIkeAndSahre = json_decode( file_get_contents_curl( $url ) ); // convert the json from our response to object
$getFbStatus = $fbLIkeAndSahre->data['0'];
return $getFbStatus->like_count; // return the number of like of the passed url
}
$result = $pdo->prepare('SELECT * FROM photos where geupload = :maandenjaar AND goedgekeurd = :goed');
$result->execute(array(':maandenjaar' => $maandenjaar, ':goed' => 'ja'));
$numrows = $result->rowCount();
if($numrows != 0){
foreach ($result as $row) {
if(get_the_fb_like('?photo='.$row['id'].'') != 0){
echo '
<div class="imgwrap">
<a href="'.$row['id'].'" title="'.$row['caption'].'"><img src="'.$row['location'].'" alt="'.$row['beschrijving'].'" /></a><br />
<p>Likes: '.get_the_fb_like('?photo='.$row['id'].'').'</p>
</div>
';
}
}
}else{
echo 'Er zijn geen afbeeldingen deze maand';
}
修改
你们真的不明白我的问题,抱歉。我会尝试解释一下。 我有一个图片ID的数据库。那个人可以喜欢。
对于类似的计数,我使用url的facebook api来获得一个url的计数。 所以我无法从我的数据库中限制10,因为我没有将计数存储在我的数据库中。
答案 0 :(得分:0)
假设您的所有链接都存储在link_stat
表中,从您的问题看起来就是这种情况,您可以只对表进行排序查询并返回前10个结果。
SELECT *
FROM link_stat
ORDER BY like_count
LIMIT 0, 10
答案 1 :(得分:0)
试
$params = 'select comment_count, share_count, like_count from link_stat where url = "'.$url.'" ORDER BY like_count desc LIMIT 10'; // preparing the query for the url