Используя 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 результат Мне нравится &startrow = 1 означает первые 10 результатов &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
Вы могли бы работать с 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>';
}
?>
Других решений пока нет …