PHP Aynı Başlık Altında İlgili Resimleri Listeleme
Merhabalar. Bir problemim var. Şöyle: Resim albümü oluşturmaya çalışıyorum. Öncelikle albüm oluşturuyorum. Sonra albümün içine resimleri kaydediyorum. Bu resimlerin hepsini bir sayfada gösteriyorum. Aşağıdaki kodlar bu sayfada gösterdiğim resimler. Sonuç eklediğim resimdeki gibi. Yapmak istediğim şu: Sira numarası aynı ise ikinci bir div açılıp tekrar yazmasını istemiyorum. Mesela "Adana" isimli olan resimler "60 sıra numarasına ait." 60 sıra numarasına ait resimler "Adana başlığı altında çıksın." Ama sonuç bu.
https://hizliresim.com/Et27FS
http://demoincele.com/demo/hd0270/admin/index.php?page=resimlistesi&menusec=re
Şimdi bu php yi öğrenme aşamasında olduğum için başka sitelerden bakarak ortaya karışık bir şeyler yapmaya çalışıyorum. Linkini koyduğum sitenin sahibi belki kızabilir diye linki koymamıştım. Ama aslında yapmak istediğim bu. Bir de ilk koymuş olduğum kodlarda sayfalama yapmak için 20 adet resim belirlemiştim her sayfa için. Ama resimlerin boyutu ve admin panelinin uzunluğu sebebiyle sonradan 3 olarak belirledim her başlık için. Yani örneğin, "Ankara", "İzmir", "İstanbul" listelenecek ve 2. sayfaya geçecek. Mysql sürümü ise şu: Sunucu sürümü: 10.4.17-MariaDB.
Şu hatayı veriyor: Fatal error: Uncaught Error: Call to a member function fetchAll() on bool in
Şu satırda:
$resimlerial = $say->fetchAll(PDO::FETCH_ASSOC);
Yani sorgudan hemen sonra gelen bu kodlarda hata veriyor. Kodları kendinize göre uyarlayın demiştiniz. Şu şekilde yaptım.
<?php
$sayfa = @intval($_GET["sayfa"]); if(!$sayfa) {$sayfa = 1;}
$say = $db->query("SELECT * FROM albumeresimekle");
$toplamveri = $say->rowCount(); // Verileri Saydırdık
$limit = 3; // Sayfada Gösterilecek Resim Sayısı
$sayfa_sayisi = ceil($toplamveri/$limit); if($sayfa > $sayfa_sayisi) { $sayfa = 1; }
$goster = $sayfa * $limit - $limit;
$gorunensayfa = 2;
$say = $db->query("SELECT ANY_VALUE('resimalbumu'.'resimalbumu_adi') AS 'resimalbumu_adi', GROUP_CONCAT('albumeresimekle'.'albumeresimekle_adi') AS 'resimler' FROM 'resimalbumu' INNER JOIN 'albumeresimekle' ON 'albumeresimekle'.'albumeresimekle_sirasi' = 'resimalbumu'.'resimalbumu_id' GROUP BY 'albumeresimekle'.'albumeresimekle_sirasi' ORDER BY 'albumeresimekle'.'albumeresimekle_sirasi' DESC LIMIT $goster, $limit");
$resimlerial = $say->fetchAll(PDO::FETCH_ASSOC);
foreach($resimlerial as $resim) {
?>
<div style="position:relative; top:0px; width:100%; height:223px; line-height:50px;
background:lightbrown; -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.35);
-moz-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.35);
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.35);">
<div style="position:absolute; width:1250px; height:50px; background:#81a8f4; padding-left:10px; font-size:20px;
color:#fff;"><?php echo $resim['resimalbumu_adi']; ?></div>
<?php
$resimler = explode(',', $resim["resimler"]);
foreach($resimler as $img) {
?>
<div class="cokluresimlisteleresim" style="position:absolute; top:53px; margin-left:0px; font-size:20px; color:#fff;">
<img src="../../../upload/albumeresimekle/<?php echo $img; ?>"></div>
<?php echo $img; ?>
<?php } ?>
</div>
<?php } ?>