Php listeleme ve sayfalamada sorunum var yardım edermisiniz
merhaba arkadaşlar site tasarımı yapmaya çalışıyorum lakin sayfalama ve listelemede sorunum var yardımcı olurmusunuz sorunum şu kurumsal firma websitesinde ürünler bölümünde lisyelemeyi ziyaretci yapabilsin istiyorum lakin sayfalamayi kullaninca ?sayfalama=122&listeleme=tarih yapamiyorim ilk once hangi sistemi kullanirsa ilk basta ?listeleme veya ?sayfalama yapamiyorum
sorunum bu form ile get istegimde sorun yok icerik listelemedede sorun yok tek sorunum ? - & isaretlerini getirmekte derdim otomatik olmasi ornegin ilk once kullanici listelemeyi kullaninca ?listeleme= olsun veya sayfalamayi ilk kullanirsa sayfalama ?sayfalama= olsun umarim anlatabilmisimdir.
günlerdir arıyorum tasarımım yarım kaldı yardımcı olursanız çok seviniceğim
ş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)
Hocam sizin önerinizde mantıklı ama benim tablo ile bir işim yok size örnek kodu yazayım bir kontrol edin
<?php
//ID ile Mysql
$id = $_GET['id'];
//Mysql Kategoriler Tablosu
$sayfa_sorgu=$db->prepare("SELECT * FROM site_kategori WHERE id={$id}");
$sayfa_sorgu->execute(array($id));
$sayfa_sonuc=$sayfa_sorgu->fetch(PDO::FETCH_ASSOC);
//Mysql Ürünler Farklı Listeleme
if ($_GET['sort']=="new_by_date") {
$sort_sirala = "tarih ASC";
} elseif ($_GET['sort'] == "old_by_date") {
$sort_sirala = "tarih DESC";
}elseif ($_GET['sort'] == "popular_products") {
$sort_sirala = "hit DESC";
}elseif ($_GET['sort'] == "by_name_az") {
$sort_sirala = "adi ASC";
}elseif ($_GET['sort'] == "by_name_za") {
$sort_sirala = "adi DESC";
}else{
$sort_sirala = "id DESC";
}
//Mysql Ürünler Tablosu Ve Sayfalandırma
$page = @intval($_GET['pagination']);
if(!$page) $page = 1;
$total=$db->prepare("SELECT * FROM site_urun WHERE urun_kat={$id}");
$total->execute();
$toplam_icerik=$total->rowCount();
$limit= 6;
$page_count = ceil($toplam_icerik/$limit);
if($page > $page_count) $page = 1;
$show = $page * $limit - $limit;
$icerik_sorgu=$db->prepare("SELECT * FROM site_urun WHERE urun_kat={$id} ORDER BY ".$sort_sirala." LIMIT $show,$limit");
$icerik_sorgu->execute();
$icerikvarmi=$icerik_sorgu->rowCount();
?>
<?php if(!$icerikvarmi){?>
<div class="icerikbulunamadi">
<span>Özür dileriz, içerik bulunamadı.</span>
<p>✔ Henüz bu kategoriye ürün eklenmemiştir. Daha sonra tekrar deneyebilirsiniz.</p>
<p>✔ Eğer bunun bir teknik sorun olduğunu düşünüyorsanız, bizimle iletişime geçebilirsiniz.</p>
</div>
<?php }else{?>
<select onchange="location=this.value;">
<?php $urunmenu_sorgu=$db->prepare("SELECT * FROM site_kategori ORDER BY adi ASC");$urunmenu_sorgu->execute();$urunmenu_icerikvarmi=$urunmenu_sorgu->rowCount();if(!$urunmenu_icerikvarmi){?>
<?php }else{?>
<?php while($urunmenu_sonuc=$urunmenu_sorgu->fetch(PDO::FETCH_ASSOC)){?>
<option
value="Category/<?php echo seo($urunmenu_sonuc["id"]).'-'.seo($urunmenu_sonuc["adi"]); ?>"
<?php if($_GET['id'] == $urunmenu_sonuc['id']) {?> selected="selected" <?php }?>>
<?php echo $urunmenu_sonuc['adi']; ?>
</option>
<?php } ?>
<?php } ?>
</select>
<select onchange="location=this.value;">
<option value="<?php echo $_SERVER['REQUEST_URI']; ?>-sort=new_by_date"
<?php if($_GET['sort'] == "new_by_date") {?> selected="selected" <?php }?>
>TARİHE GÖRE YENİ</option>
<option value="Category/<?php echo seo($sayfa_sonuc["id"]).'-'.seo($sayfa_sonuc["adi"]); ?>?sort=old_by_date" <?php if($_GET['sort'] == "old_by_date") {?> selected="selected" <?php }?>>TARİHE GÖRE ESKİ</option>
<option value="Category/<?php echo seo($sayfa_sonuc["id"]).'-'.seo($sayfa_sonuc["adi"]); ?>?sort=popular_products" <?php if($_GET['sort'] == "popular_products") {?> selected="selected" <?php }?>>POPÜLER ÜRÜNLER</option>
<option value="Category/<?php echo seo($sayfa_sonuc["id"]).'-'.seo($sayfa_sonuc["adi"]); ?>?sort=by_name_az" <?php if($_GET['sort'] == "by_name_az") {?> selected="selected" <?php }?>>İSME GÖRE A>Z</option>
<option value="Category/<?php echo seo($sayfa_sonuc["id"]).'-'.seo($sayfa_sonuc["adi"]); ?>?sort=by_name_za" <?php if($_GET['sort'] == "by_name_za") {?> selected="selected" <?php }?>>İSME GÖRE Z>A</option>
</select>
<div class="row">
<?php while($icerik_sonuc=$icerik_sorgu->fetch(PDO::FETCH_ASSOC)){?>
<div class="col-6 col-lg-4">
<div class="urunitem">
<a href="Product/<?php echo seo($icerik_sonuc["id"]).'-'.seo($icerik_sonuc["adi"]); ?>">
<img src="assets/images/urun/<?php echo $icerik_sonuc['resim'];?>">
<h2><?php echo $icerik_sonuc['adi'];?></h2>
</a>
</div>
</div>
<?php }?>
</div>
<?php } ?>
<!-- Sunucu İçerik -->
<!-- Sayfalama -->
<?php if($toplam_icerik > 6){ ?>
<ul class="pagination">
<?php if ($previous = $page -1){?>
<li class="page-item">
<a class="page-link" href="<?php echo $_SERVER['REQUEST_URI']; ?>?pagination=<?php echo $previous;?>">
<i class="fas fa-angle-left"></i>
</a>
</li>
<?php } else {?>
<li class="page-item">
<a class="page-link">
<i class="fas fa-angle-left"></i>
</a>
</li>
<?php }?>
<li class="page-item active"><a class="page-link"><?php echo $page; ?></a></li>
<?php if ($oncekisayfa = $page +1){?>
<li class="page-item">
<a class="page-link" href="<?php echo $_SERVER['REQUEST_URI']; ?>?pagination=<?php echo $oncekisayfa;?>">
<i class="fas fa-angle-right"></i>
</a>
</li>
<?php } else {?>
<li class="page-item">
<a class="page-link">
<i class="fas fa-angle-right"></i>
</a>
</li>
<?php }?>
</ul>
<?php }?>
<!-- Sayfalama -->
<!-- İçerik -->
</div>
</div>
</section>
https://datatables.net/ bu eklentiye bakabilirsin işine yarayabilir.
Server side veya Ajax özellikle