Php Hata
Merhaba arkadaşlar sayfalama işlemi yapıyorum
function Sayfala($top_sayfa,$page,$limit,$page_url){
if ($top_sayfa > $limit) :
$x = 5;
$lastP = ceil($top_sayfa / $limit);
if ($page==1){
echo '<a class="page-link" href="#">1</a>';
}else{
echo '<a class="page-link" href="'.$page_url.'1">1</a>';
}
if ($page-$x>2){
echo '<a class="page-link" href="#">...</a>';
$i = $page-$x;
}else{
$i = 2;
}
for ($i; $i<=$page+$x; $i++){
if ($i==$page)
echo '<a class="page-link" href="#">'.$i.'</a>';
else
echo '<a class="page-link" href="'.$page_url.''.$i.'">'.$i.'</a>';
if ($i==$lastP)
break;
}
if ($page+$x<$lastP-1){
echo '<a class="page-link" href="#">...</a>';
echo '<a class="page-link" href="'.$page_url.''.$lastP.'">'.$lastP.'</a>';
}elseif ($page+$x==$lastP-1){
echo '<a class="page-link" href="'.$page_url.''.$lastP.'">'.$lastP.'</a>';
}
endif;
}
Sayfalama Fonksiyonum normal dizinde sorunsuz çalışıyor ama amp tarafında saçma bir hata alıyorum
<?php
$baslangic = ($_GET['no'] * 12) - 12;
$kataegori_idleri = alt_kategori_bul($kategori['id']).'0';
$query = $db->query("SELECT
urun.baslik,
urun.sef,
urun.eski_fiyat,
urun.fiyat,
urun.id,
urun_img.img
FROM
urun_kategori
INNER JOIN urun ON urun_kategori.urun_id = urun.id
INNER JOIN urun_img ON urun.id = urun_img.urun_id
WHERE
urun_kategori.kategori_id IN ({$kataegori_idleri})
GROUP BY
urun_img.urun_id
LIMIT {$baslangic},12", PDO::FETCH_ASSOC);
?>
<?php foreach($query as $row): ?>
//Veri çekle işlemi
<?php ?>
Sayfalama Kodlarım
<?php
$say = $db->query("SELECT
urun.id
FROM
urun_kategori
INNER JOIN urun ON urun_kategori.urun_id = urun.id
INNER JOIN urun_img ON urun.id = urun_img.urun_id
WHERE
urun_kategori.kategori_id IN ({$kataegori_idleri})
GROUP BY
urun_img.urun_id")->fetchAll();
$top_sayfa = count($say);
$page = $_GET['no'];
$limit = 12;
$page_url = 'kategori/'.$kategori['sef'].'/';
$baslangic = ($page * $limit) - $limit;
?>
<div class="sayfalama">
<?php Sayfala($top_sayfa,$page,$limit,$page_url); ?>
</div>
Aldığım Hata
27. Satır: $baslangic = ($_GET['no'] * 12) - 12;
46. Satır: <?php foreach($query as $row): ?>
86. Satır: Sayfalama Kısmındaki $baslangic = ($_GET['no'] * 12) - 12;
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
intval()
kullanırsan büyük ihtimal çözülecektir.
$baslangic = (intval($_GET['no']) * 12) - 12;