PHP Sayfaya göre siralama
Selamlar
Arkadaslar merhaba simdi ana sayfada bir tablo dusunun bu ana sayfada sayfa basına 20 kayit
var diyelim ve birinci sayfada iken 0'dan 20'ye kadar $arttir++ islemi ile yazdirabiliyorum
fakat 2'inci sayfaya geçtiğimde tekrardan 0'dan 20'ye kadar gidiyor bu islemi nasıl aratmaliyim googledan
yada nasıl çözebilirim şimdiden teşekkürler.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Bendeki sayfalama mantıgı çok daha gelişmiş ve farklı
$SayfalamaIcinSolVeSagButonSayisi = 2;
$SayfaBasinaGosterilecekKayitSayisi =100;
$ToplamKayitSayisiSorgusu = $db->prepare("SELECT FROM servertanitimlari WHERE TanitimAktifligi = ?");
$ToplamKayitSayisiSorgusu->execute([0]);
$ToplamKayitSayisi = $ToplamKayitSayisiSorgusu->rowCount();
$SayfalamayaBaslanacakKayitSayisi = ($SayfaKoduDegeri $SayfaBasinaGosterilecekKayitSayisi) - $SayfaBasinaGosterilecekKayitSayisi;
$BulunanSayfaSayisi = ceil($ToplamKayitSayisi / $SayfaBasinaGosterilecekKayitSayisi);
Aşağıda ki kodları kendi projene göre düzenle.
<?php
//Database Baglanti..
$db = new PDO('mysql:host=localhost;dbname=sayfalama','root','root');
// Ilk etap da kac adet veri gozukmesini istiyorsan yaz orayi bu ornekte 10 adet
$limit = 10;
// baslangic
$baslangic = isset($_GET['baslangic']) && is_numeric($_GET['baslangic']) && $_GET['baslangic'] > -1 ? $_GET['baslangic'] : 0;
if ($baslangic % $limit !== 0){
header('Location:index.php');
}
//Verileri Database den cekiyoruz burada..
$sorgu = $db->query('SELECT * FROM test ORDER BY id DESC LIMIT ' . $baslangic . ',' . $limit)->fetchAll(PDO::FETCH_ASSOC);
if (!$sorgu){
header('Location:index.php?baslangic=' . ($baslangic - $limit) . '&son=1');
}
foreach ($sorgu as $veri){
echo $veri['id'] . '<br>';
}
if ($baslangic > 0){
echo '<a href="index.php?baslangic=' . ($baslangic - $limit) . '">Önceki Sayfa</a>';
}
if (!isset($_GET['son'])){
echo '<a href="index.php?baslangic=' . ($baslangic + $limit) . '">Sonraki Sayfa</a>';
}