lostyazilim
tr.link

PHP sayfalama sorunu

5 Mesajlar 622 Okunma
lstbozum
tr.link

cavadovrufiq cavadovrufiq WM Aracı Kullanıcı
  • Üyelik 01.04.2021
  • Yaş/Cinsiyet 25 / E
  • Meslek Front-End Developer
  • Konum Azerbeycan
  • Ad Soyad R** C**
  • Mesajlar 48
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

Merhabalar. PHP ile sayfalama mantığını yaptım. Fakat şimdi şöyle bir durum var ki, sayfamalar sayfa boş iken bile gözükmekte. Şimdi benim ürünler diye bir tablom var ve bu tabloda cat_id diye bir sütun oluşturdum. Kategoriler tablomda ise category_id aynen bu cat_id sayfası ile eşitlenip o sayfada gösterilmekte. Nasıl desem yani o kategoriye ait olduğunda sayfada listelenme yapılmakta. Fakat durum şu ki, kafamda bir türlü mantığı oturtamadım bir türlü. Ben istiyorum ki, sayfamda yani belli olan sayfamda herhangi bir ürün yoksa bile sayfalamayı bile göstermesin. Yani yapı tam olarak şöyle /category/1 burada bir kategori id-si olmakta tabi /category/1/page/2 bu da mesela sayfalama örneğim Yani kısaca category/2 de atıyorum ürünlerim var ve sıkıntı çıkarmıyor. Çünkü sayfamda ürün olduğu için dolayısıyla da sayfalama göstermesi normal bir durum. Ama category 1 mesela boş çünkü ürünlerim tablosunda cat_id diye bir şey oluşturmadım yani o kategori üzre. Kısacası boş ise gösterilmesini istemiyorum.

 

 

wmaraci
reklam

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)

Kontrol koyacaksınız hocam categori boş ise gösterme şeklinde. @cavadovrufiq 

cavadovrufiq

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

Adalente Adalente IT MANAGER Kullanıcı
  • Üyelik 27.01.2015
  • Yaş/Cinsiyet 43 / E
  • Meslek IT Maneger
  • Konum İstanbul Avrupa
  • Ad Soyad A** H**
  • Mesajlar 388
  • Beğeniler 59 / 26
  • Ticaret 0, (%0)

şimdi şöyle düşün her sayfada kaç ürün gösteriyorsun? 10 mesala ürünleri saydırdırdın toplam sayfada 8 ürün var.

sayfalama kısmına eğer toplam ürün 10 üzeri ise göster değilse gösterme de sorununu çözecektir.

cavadovrufiq

kişi bu mesajı beğendi.

E-evcil.com

cavadovrufiq cavadovrufiq WM Aracı Kullanıcı
  • Üyelik 01.04.2021
  • Yaş/Cinsiyet 25 / E
  • Meslek Front-End Developer
  • Konum Azerbeycan
  • Ad Soyad R** C**
  • Mesajlar 48
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

Yanıtlarınız için teşekkürler. Sorunu çözdüm. Ürünler tablomda status diye bir alan oluşturdum ve döngü kısmında dedim ki, status değeri eşit eşitse 1'e göster değilse gösterme gibisinden bir mantık oluşturdum ve sorunu çözdüm. Aşağıdaki örnekte olduğu gibi arkadaşlar.

<?php foreach ($row['status'] == 1): ?>
 

 

wmaraci
wmaraci

Hamburcer Hamburcer WM Aracı Kullanıcı
  • Üyelik 03.01.2023
  • Yaş/Cinsiyet 38 / E
  • Meslek yazılım
  • Konum Ankara
  • Ad Soyad M** D**
  • Mesajlar 16
  • Beğeniler 4 / 6
  • Ticaret 0, (%0)

Kullanımı

urunler.php?sayfa=1

    $satir_sayisi = DB::getVar('SELECT COUNT(id) FROM urunler WHERE kategori=?',array($kategori));

    if(isset($_GET['sayfa']) && is_numeric($_GET['sayfa'])){
        $sayfa = $_GET['sayfa'];
        if($sayfa < 0){
            $sayfa=1;
        }
    }else{
        $sayfa = 1;
    }
    $limit  = 10;
    $ss     = ceil( $satir_sayisi / $limit );
    $sayfa  = ( $sayfa > $ss ? 1 : $sayfa );
    $goster = ( $sayfa * $limit ) - $limit;

    $datalar= DB::get('SELECT * FROM urunler where kategori=? ORDER BY id  DESC LIMIT '.$goster.','.$limit.'',array($kategori));

                                for( $i = $sayfa - 1; $i < $sayfa + 2; $i++ )
                                {
                                    if( $i > 0 && $i <= $ss )
                                    {
                                        echo '<li class="page-item '.($i == $sayfa ? 'active' : ' ').'"><a class="page-link" href="../urunler.php?sayfa='.$i.'">'.$i.'</a></li>';
                                    }
                                }

Mesaj 2 defa düzenlendi. Son düzenleyen: Hamburcer (04.01.2023 11:57)

cavadovrufiq

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al