Класс для разбора массива для постраничного вывода на экран

Разбитие массива по странично

$map=new StartPage;//инициализация класса
$arr=$map->StartPageMas($array, $page, $count, $url);
#$arr - Массив результата работы класса; 
#$array - Массив для разбивки;
#$page - Имя переменной GET с номером страницы (page);
#$count - Количество записей на страницу;
#$url - Адрес к страницам (/map.php?page=)
#Обработка
echo '<ul>';
foreach($arr as $v){ echo "<li><a href='$v[link]'>$v[name]</a></li>";
}
echo '</ul>';
#Вывод навигатора
echo $map->NextPageMas();

Сам класс:
*Внешний вид навигатора настраивается в NextPageMas()

class StartPage{ var $masiv; var $urls; var $kol; var $page; function StartPageMas($mas, $url, $kol, $page){ $this->masiv = $mas; $this->urls = $url; $this->kol = $kol; $this->page = $page; if($_GET[$this->urls]>(count($this->masiv)/$this->kol))$_GET[$this->urls]=$url=0; if(!isset($_GET[$this->urls])) $_GET[$this->urls]=0; $start = $this->kol * $_GET[$this->urls]; $startp = $this->kol * $_GET[$this->urls] + $this->kol; $kolvo = count( $this->masiv ); if($startp <= $kolvo) $stop = $startp; else if($kolvo < $startp) $stop = $kolvo; $s=0; foreach($this->masiv as $key=>$val){ if($start<=$s)$mm[$key]=$this->masiv[$key]; $s++; if($s==$stop) break; } return $mm; } function NextPageMas(){ $start = $this->kol * $_GET[$this->urls]; $startp = $this->kol * $_GET[$this->urls] + $this->kol; $kolvo = count( $this->masiv ); $sh=$this->kol; if($start==0) $start=1; if($startp <= $kolvo) $stop = $startp; else if($kolvo < $startp) $stop = $kolvo; $namber=0; $url_namber=1; $list=$start_ter=''; $list= '<div class="str">Страницы: '; if($_GET[$this->urls]>0){ $num=$_GET[$this->urls] - 1; $list.= '<a href="'.$this->page.$num.'">предыдущая</a>&nbsp;'; } for($i=0; $i < $kolvo; $i=$i+$sh){ if($namber==$_GET[$this->urls]){ $list.= '<span><strong>'.$url_namber.'</strong></span>&nbsp;'; $namber++; $url_namber++; }else{ $list.= '<a href="'.$this->page.$namber.'">'.$url_namber.'</a>&nbsp;'; $namber++; $url_namber++; } } if($_GET[$this->urls]*$sh+$sh<$kolvo){ $num=$_GET[$this->urls] + 1; $list.= '<a href="'.$this->page.$num.'">следующая</a>&nbsp;'; } return $start_ter.$list.'</div>'; }

PHP   Теги: Php



Редакция портала:

Благодарим за просмотр этой информации на нашем компьютерном портале. Надеемся, что обзор Разбитие массива по странично, в разделе PHP вам понравился. Есть небольшая рекомендация, если вы хотите быть в курсе всех событий сферы информационных технологий, то рекомендуем зарегистрироваться на портале www.stfw.ru.


Живая лента

•  На пиротехническом заводе в Ленобласти произошел взрыв - 20.10.2018: STFW.Ru: Москва. 19 октября. INTERFAX.RU - В результате взрыва на заводе пиротехники в


•  Кабмин Украины поддержал повышение цен на газ для населения почти на четверть - 20.10.2018: STFW.Ru: Москва. 19 октября. INTERFAX.RU - Премьер-министр Украины Владимир Гройсман сообщил


•  Американский авианосец впервые за 27 лет зашел в Арктику - 20.10.2018: STFW.Ru: Американский авианосец впервые за 27 лет пересек Северный полярный круг. Об


•  Обзор GIGABYTE Z390 AORUS MASTER: дело мастера боится - 20.10.2018: STFW.Ru: Компания Intel совсем недавно представила настольные процессоры семейства


•  Украинский стартап Hushme вышел на японский краудфандинг и собрал в 9 раз больше запланированной суммы - 20.10.2018: STFW.Ru: Украинский стартап Hushme, который занимается разработкой одноимённой


•  ТОП-10 самых производительных Android-смартфонов сентября по версии AnTuTu - 20.10.2018: STFW.Ru: Сервис тестирования производительности смартфонов AnTuTu подготовил