使用Simple Dom Parser,我有50以上的结果,现在我想要每页只有10个结果。我的search.php页面有以下代码
<?php
include('simple_html_dom.php');
$search = $_GET['search'];
$html = file_get_html('http://mysite/'.$search.'.html');
foreach ( $html->find('div#song_html ') as $e ) {
$title= $e->find('div', 2)->plaintext;
echo $title.'<br>';
}
?>
现在我使用此代码调用我的页面显示以上50个结果..
http://domain/search.php?search=Keyword
我想要每页10个结果像&amp; startrow = 1表示前10个结果&amp; startrow = 2表示第10个结果
http://domain/search.php?search=Keyword&startrow=1 //page 1 with 10 result
http://domain/search.php?search=Keyword&startrow=2 //page 2 with Next 10 result
http://domain/search.php?search=Keyword&startrow=3 //page 3 with Next 10 result
答案 0 :(得分:0)
您可以使用array_slice()
处理DOM解析器的结果...类似下面的代码可以做到这一点(未经测试的代码):
<?php
include('simple_html_dom.php');
$page = array_key_exists('startrow', $_GET) ? (int)$_GET['startrow'] : 1;
$search = $_GET['search'];
$html = file_get_html('http://mysite/'.$search.'.html');
$songs = $html->find('div#song_html ');
$paginationStart = min((10 * ((int)$page - 1)), (count($songs)-1));
$results = array_slice($songs, $paginationStart, 10);
foreach ( $results as $e ) {
$title= $e->find('div', 2)->plaintext;
echo $title.'<br>';
}
?>