2016-05-03 123 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>