Merhaba şöyle bir kod parçacığım var;
$perPage = 22;
$query = $db->query("SELECT COUNT(id) total FROM `books` WHERE status = '1' AND rate >= '5'");
$totalRow = $query->fetchColumn();
$totalPage = ceil($totalRow / $perPage);
$page = isset($_GET['sayfa']) ? (int) $_GET['sayfa'] : 1; // eğer sayfa girilmemişse 1 varsayalım.
if($page < 1) $page = 1; // eğer 1'den küçük bir sayfa sayısı girildiyse 1 yapalım.
if($page > $totalPage) $page = $totalPage; // toplam sayfa sayımızdan fazla yazılırsa en son sayfayı varsayalım.
$limit = ($page - 1) * $perPage;
if ($_GET['types'] && $_GET['author'] == null) {
$yazar = $_GET['author'];
$types = $_GET['types'];
$query = $db->prepare("SELECT b.*, t.name FROM books b
join books_types bt on b.id = bt.bid
join types t on bt.id = t.id
where (bt.tid = $types) = (bt.bid = b.id) ORDER BY id DESC LIMIT $limit,$perPage");
$query->execute();
$eniyiler = $query->fetchAll();
}elseif ($_GET['author'] && $_GET['types'] == 0) {
$yazar = $_GET['author'];
$types = $_GET['types'];
$query = $db->prepare("SELECT b.*, a.* FROM books b
join books_authors ba on b.id ba.bid
join authors a on ba.aid = a.id
where a.fullname like '%$yazar%' LIMIT $limit,$perPage");
$query->execute();
$eniyiler = $query->fetchAll();
}else{
$query = $db->prepare("SELECT * FROM books where status = '1' ORDER BY id DESC LIMIT $limit,$perPage");
$query->execute();
$eniyiler = $query->fetchAll();
}
$showPaginateNumbers = 11;
$minMid = ceil($showPaginateNumbers/2);
$maxMid = ($totalPage+1) - $minMid;
$pageMid = $page;
if($pageMid < $minMid) $pageMid = $minMid;
if($pageMid > $maxMid) $pageMid = $maxMid;
$leftPagination = round($pageMid - (($showPaginateNumbers-1) / 2));
$rightPagination = round((($showPaginateNumbers-1) / 2) + $pageMid);
if($leftPagination < 1) $leftPagination = 1;
if($rightPagination > $totalPage) $rightPagination = $totalPage;
$types = $db->prepare("SELECT * FROM types order by name ASC");
$types->execute();
ben burada şunu yapmak istiyorum normalde else kısmında arama yoksa listeletebiliyoruz gelen veri sayısını ancak arama var ise gelen veri sayısına göre de pagination yapmak istiyorum nasıl yapabilirim yardımcı olabilecek var mı?