2011-01-30 77 views
1

我正在創建一個last.fm/ google地圖混搭,爲任何要搜索的城市繪製地圖標記。last.fm API分頁

一個last.fm的API響應是這樣的:

<events location="New York" page="1" totalpages="105" total="1050"> 
<event> 
    <id>640418</id> 
    <title>Nikka Costa</title> 
    <artists> etc. 

目前,您可以搜索愛丁堡,例如 - 它會帶回第10場演出即將推出。我使用PHP和簡單的XML來返回結果。

我想添加分頁 - 所以前10個演出將是第1頁;我想有一個其他頁面的列表,以便用戶可以期待以後的演出。

對於mysql/php分頁,有很多有用的資源,但對於動態PHP/XML和API來說並不是那麼多。什麼是最好的方法來解決這個問題?

回答

3

last.fm API允許包括頁碼在內的參數。所以,你會構建你的要求是這樣的:

http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=new+york&api_key=api key &頁= 2

你可以通過使用$ _GET頁號在你的PHP代碼和相應的更新請求的URL。

$page = 1; 
if (isset($_GET['lfm_pageid'])) { 
    $page = $_GET['lfm_pageid']; 
} 

$lfm_events = new SimpleXMLElement("http://ws.audioscrobbler.com/2.0/?method=geo.getevents&location=new+york&api_key=b25b959554ed76058ac220b7b2e0a026&page=$page", NULL, TRUE); 

foreach ($lfm_events->events->event as $event) { 
    echo $event->title . '<br />'; 
} 

這顯然是一個非常基本的例子,沒有任何類型的GET參數錯誤處理等,不要在生產中使用它。