add paginator
This commit is contained in:
parent
2383f9d4f6
commit
7ec20a6d35
101
AXIOS/page.php
Normal file
101
AXIOS/page.php
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
define('LIMIT', 5);
|
||||||
|
define('OFFSET', 0);
|
||||||
|
|
||||||
|
$arrMusic = [
|
||||||
|
'Открываем',
|
||||||
|
'набор',
|
||||||
|
'на',
|
||||||
|
'оплачиваемую',
|
||||||
|
'стажировку',
|
||||||
|
'Вы',
|
||||||
|
'спрашивали',
|
||||||
|
'вы',
|
||||||
|
'ждали',
|
||||||
|
'и',
|
||||||
|
'вот',
|
||||||
|
'мы',
|
||||||
|
'возвращаемся',
|
||||||
|
'с',
|
||||||
|
'анонсом',
|
||||||
|
'стажировки',
|
||||||
|
'для',
|
||||||
|
'разработчиков!',
|
||||||
|
'6 месяцев',
|
||||||
|
];
|
||||||
|
|
||||||
|
$len = sizeof($arrMusic);
|
||||||
|
|
||||||
|
// $limit = $_GET['limit'] or LIMIT;
|
||||||
|
$limit = isset($_GET['limit']) ? $_GET['limit'] : LIMIT;
|
||||||
|
|
||||||
|
// $offset = $_GET['offset'] or OFFSET;
|
||||||
|
$offset = isset($_GET['offset']) ? $_GET['offset'] : OFFSET;
|
||||||
|
|
||||||
|
$portial = array_slice($arrMusic, $offset, $limit);
|
||||||
|
// print($len);
|
||||||
|
|
||||||
|
$str = '<ul id="feed">';
|
||||||
|
foreach ($portial as $value) {
|
||||||
|
$str .="<li>$value</li>";
|
||||||
|
}
|
||||||
|
$str .= '';
|
||||||
|
|
||||||
|
$countPage = intdiv($len , $limit);
|
||||||
|
// var_dump($countPage);
|
||||||
|
|
||||||
|
$paginator = '';
|
||||||
|
for ($i = 0; $i < $countPage; $i++) {
|
||||||
|
$paginator .= '<a href= "./portial.php?offset='.LIMIT*$i.'&limit='.LIMIT.'">'.$i.'</a> ';
|
||||||
|
}
|
||||||
|
|
||||||
|
echo <<<abyr
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Pangination</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
$str
|
||||||
|
<div id="paginator">
|
||||||
|
$paginator
|
||||||
|
</div>
|
||||||
|
<button type="button" click="getPage">Пам-пам</button>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
<script>
|
||||||
|
console.log('start script')
|
||||||
|
let parent = document.getElementById('paginator')
|
||||||
|
parent.addEventListener('click', getPage)
|
||||||
|
async function getFetch(url) {
|
||||||
|
const response = await fetch(url, { method:'get'} )
|
||||||
|
// return await response.json();
|
||||||
|
return await response.text();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// parent = document.getElementById('paginator')
|
||||||
|
// console.log(parent)
|
||||||
|
parent.addEventListener('click' , getPage )
|
||||||
|
|
||||||
|
async function getPage(event) {
|
||||||
|
event.stopPropagation()
|
||||||
|
event.preventDefault()
|
||||||
|
let url = event.target.getAttribute('href')
|
||||||
|
let data = await getFetch(url)
|
||||||
|
feed = document.getElementById('feed')
|
||||||
|
feed.innerHTML = feed.innerHTML + data
|
||||||
|
console.log(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
abyr;
|
||||||
|
|
||||||
|
|
||||||
|
|
53
AXIOS/portial.php
Normal file
53
AXIOS/portial.php
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
define('LIMIT', 5);
|
||||||
|
define('OFFSET', 0);
|
||||||
|
|
||||||
|
$arrMusic = [
|
||||||
|
'Открываем',
|
||||||
|
'набор',
|
||||||
|
'на',
|
||||||
|
'оплачиваемую',
|
||||||
|
'стажировку',
|
||||||
|
'Вы',
|
||||||
|
'спрашивали',
|
||||||
|
'вы',
|
||||||
|
'ждали',
|
||||||
|
'и',
|
||||||
|
'вот',
|
||||||
|
'мы',
|
||||||
|
'возвращаемся',
|
||||||
|
'с',
|
||||||
|
'анонсом',
|
||||||
|
'стажировки',
|
||||||
|
'для',
|
||||||
|
'разработчиков!',
|
||||||
|
'6 месяцев',
|
||||||
|
];
|
||||||
|
|
||||||
|
$len = sizeof($arrMusic);
|
||||||
|
|
||||||
|
// $limit = $_GET['limit'] or LIMIT;
|
||||||
|
$limit = isset($_GET['limit']) ? $_GET['limit'] : LIMIT;
|
||||||
|
|
||||||
|
// $offset = $_GET['offset'] or OFFSET;
|
||||||
|
$offset = isset($_GET['offset']) ? $_GET['offset'] : OFFSET;
|
||||||
|
|
||||||
|
$portial = array_slice($arrMusic, $offset, $limit);
|
||||||
|
// print($len);
|
||||||
|
|
||||||
|
$str = '<ul>';
|
||||||
|
foreach ($portial as $value) {
|
||||||
|
$str .="<li>$value</li>";
|
||||||
|
}
|
||||||
|
$str .= '';
|
||||||
|
|
||||||
|
// $countPage = intdiv($len , $limit);
|
||||||
|
// // var_dump($countPage);
|
||||||
|
|
||||||
|
// $paginator = '';
|
||||||
|
// for ($i = 0; $i < $countPage; $i++) {
|
||||||
|
// $paginator .= '<a href= "page.php?offset='.LIMIT*$i.'&limit='.LIMIT.'">'.$i.'</a> ';
|
||||||
|
// }
|
||||||
|
|
||||||
|
header('Content-Type: plan/text; charset=utf-8');
|
||||||
|
echo ($str);
|
Loading…
Reference in New Issue
Block a user