いくつかのページの「いいね!」が最も多い上位 10 を作成しています (理由は聞かないでください。これは、データベースから提供されるリンクの Web サイトのオプションにすぎません)。
私は今この方法でやっているので、リンクからすべてのリンクと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を持つデータベースがあります。そのpplは好きです。
いいね数については、URL ごとに Facebook API を使用して、URL のいいね数を取得します。したがって、データベースにカウントを保存しないため、データベースから 10 を制限する方法はありません。