2016-05-03 122 views
0

我想要像div一樣進行分頁。現在div被填充了xml,其中顯示了6個結果。我想點擊一個按鈕來顯示下一個/上一個6個結果。我不知道如何強制xml返回結果,比如匹配[0]匹配[5],接下來的匹配[6]匹配[11]。顯示xml結果範圍

XML在widget.php:

foreach ($xml->team->last_matches->match as $match) { 
    //some php and html stuff 
} 

如果JavaScript變量,我傳遞給文件widget.php是limit,想是這樣的:

for ($x = 0; $x < $_GET['limit']; x++) 
    foreach ($xml->team->last_matches->match[x] as $match) { 
     //some php and html stuff 
    } 
} 

不知道在哪裏可以指定顯示最後六個條目高達limit。提前致謝。

回答

0

考慮使用由方括號[]表示的xpath的節點索引。下面與谷歌塗鴉的一個示例XML演示:

XML

<root> 
    <GoogleDoodles> 
     <ID>1758</ID> 
     <DoodleDate>2015-07-01</DoodleDate> 
     <Doodle>Canada Day 2015</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1759</ID> 
     <DoodleDate>2015-07-04</DoodleDate> 
     <Doodle>Fourth of July 2015</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1760</ID> 
     <DoodleDate>2015-02-15</DoodleDate> 
     <Doodle>50th Anniversary of the Canadian Flag</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1761</ID> 
     <DoodleDate>2015-02-15</DoodleDate> 
     <Doodle>Cricket World Cup 2015 - India vs. Pakistan</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1762</ID> 
     <DoodleDate>2015-02-17</DoodleDate> 
     <Doodle>Carnival 2015</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1763</ID> 
     <DoodleDate>2015-02-16</DoodleDate> 
     <Doodle>Rosenmontag 2015</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1764</ID> 
     <DoodleDate>2015-02-18</DoodleDate> 
     <Doodle>Alessandro Volta's 270th Birthday</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1765</ID> 
     <DoodleDate>2015-02-24</DoodleDate> 
     <Doodle>Rosalia de Castro's 178th Birthday</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1766</ID> 
     <DoodleDate>2015-02-19</DoodleDate> 
     <Doodle>Lunar New Year 2015 (Vietnam)</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1767</ID> 
     <DoodleDate>2015-02-26</DoodleDate> 
     <Doodle>Jose Mauro de Vasconcelos' 95th Birthday</Doodle> 
    </GoogleDoodles> 
    <GoogleDoodles> 
     <ID>1768</ID> 
     <DoodleDate>2015-02-19</DoodleDate> 
     <Doodle>Lunar New Year 2015</Doodle> 
    </GoogleDoodles> 
</root> 

PHP腳本

$xml = simplexml_load_file('path/to/xml/file.xml'); 
# $xml = simplexml_load_string($xmlstring); 

$limit = 5; 

for($j=0; $j <= $limit; $j++) { 

    foreach ($xml->xpath("//GoogleDoodles[".$j."]/Doodle") as $d) { 
     echo $d->saveXML()."\n"; 
    } 

}  

// <Doodle>Canada Day 2015</Doodle> 
// <Doodle>Fourth of July 2015</Doodle> 
// <Doodle>50th Anniversary of the Canadian Flag</Doodle> 
// <Doodle>Cricket World Cup 2015 - India vs. Pakistan</Doodle> 
// <Doodle>Carnival 2015</Doodle>