2013-03-26 27 views
0

如何修改以下电话以便即将发生的事件首先显示。目前订单非常随意;我需要显示在顶部和任何过去的事件不应展示最新的事件......要订购eventbrite事件清单,以便即将发生的事件首先显示

<div class="events-links"> 

    <? 
    include "eventbrite/Eventbrite.php"; 
    $authentication_tokens = array('app_key' => 'APP_KEY', 
         'user_key' => 'USER_KEY'); 
    $eb_client = new Eventbrite($authentication_tokens); 
    $events = $eb_client->user_list_events(); 
    ?> 

    <span class="inspirational">Upcoming Events</span> 
    <?= Eventbrite::eventList($events, 'eventListRow'); ?> 
    </div> 
  • 这些都不是我的令牌;我改变了他们之前发布只是随机字符:)
+1

我希望那些不是你的实际令牌:) – 2013-03-26 23:08:48

+0

'var_dump($ events)'看起来像什么? – 2013-03-26 23:10:00

回答

1

你取$events后,使用usort给数组排序。

usorthttp://php.net/manual/en/function.usort.php

$events = $eb_client->user_list_events(); 
usort($events, function($a, $b) { 
    $adate = $a->start // or $a['date'] or $a->whatever it is 
    $bdate = $b->start // or $a['date'] or $a->whatever it is 
    if ($adate < $bdate) return -1; 
    if ($adate > $bdate) return 1; 
    return 0; 
}); 

或者,你可以,如果你有一个联系您的客户经理。

(披露:我为EB竞争对手工作)

+0

此代码发出错误,我已关闭错误日志记录,但 – Alex 2013-03-27 15:57:45

+0

好吧,它并不意味着按原样工作。 – 2013-03-27 16:13:03

+0

不确定如何利用这一点;我的经验是在前端开发(html/css/jquery/design);我不知道如何部署usort功能 – Alex 2013-03-27 17:03:50

2

如果您使用的user_list_events方法,您可以通过调整event_statuses场筛选结果。有效的选项包括:实时,开始或结束。仅显示即将发生的事件,例如:event_statuses=live

结果将显示从最近即将发生的事件发生到将来最远的事件。

+0

谢谢 - 我在哪里调整此字段(在我的代码中) – Alex 2013-03-27 16:27:00

+0

您可以查看PHP客户端的examples'目录:https: //github.com/ryanjarvinen/eventbrite.php/blob/master/examples/attendee-list-example.php – brianz 2013-03-27 18:11:25

+0

这个例子在这里是我粘贴在我的问题上面的确切代码..... – Alex 2013-04-02 23:48:59