0

公開ページからイベントが見れるページを作りました

PHP コード

<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
    'appId' => 'ID',
    'secret' => 'SECRET',
    'cookie' => true, 
));
try{
    $events=$facebook->api('/PAGE/events?access_token=TOKEN');
}catch (FacebookApiException $e){
    error_log($e);
}
foreach ($events["data"] as $event){
    // Time
    $startTime=strtotime($event["start_time"]);
        // Only Upcoming events
        if ((time()-$startTime)<=60*60*24*1 || $startTime>time()){

                echo '<li><a href="#" id="'.$event["id"].'" class="event_link">
                <img class="ui-li-thumb" src="https://graph.facebook.com/'.$event["id"].'/picture?type=small" width="70px;" height="100%" />
                <h3 class="ui-li-heading">'.$event['name'].'</h3>
                </a></li>';
            }
        }
?>

リストの最後のイベントを取得するだけで問題なく動作しています

出力の順序を変更するにはどうすればよいですか??(もちろん可能であれば)。

4

3 に答える 3

2

usortを使用できます:

//Sorts by name. Switch 'name' for other sorts.
//Switch 1 and -1 to reverse the sort.
usort($events["data"],function($a,$b){
    if ($a['name'] == $b['name']) {
        return 0;
    }
    return ($a['name'] < $b['name']) ? -1 : 1;
});
于 2013-08-13T11:25:22.200 に答える
1

そのために使用する必要がありますfqlFQL - イベント

そのため、クエリで、を使用して、ORDER BY任意のパラメーターの順序で並べ替えることができます

例:

createer=PAGE_ID のイベントから eid を選択し、in (uid=PAGE_ID の event_member から eid を選択) ORDER BY start_time DESC

于 2013-08-13T11:30:31.130 に答える
1
<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
    'appId' => 'ID',
    'secret' => 'SECRET',
    'cookie' => true, 
));
$fql = "SELECT 
            name, pic, start_time 
        FROM 
            event 
        WHERE 
            eid IN ( SELECT eid FROM event_member WHERE uid = PAGE_ID ) 
        AND 
            start_time >= now()
        ORDER BY 
            start_time asc";

$param  =   array(
    'method'    => 'fql.query',
    'query'     => $fql,
    'callback'  => ''
);

$fqlResult   =   $facebook->api($param);
foreach( $fqlResult as $keys => $values ){

    echo '<li><a href="#" id="'.$values["id"].'" class="event_link">
                <img class="ui-li-thumb" src="'.$values['pic'].'" width="70px;" height="100%" />
                <h3 class="ui-li-heading">'.$values['name'].'</h3>
                </a></li>';

}
?>

解決しました!

于 2013-08-13T13:31:59.857 に答える