v2.5.2
Giriş yap

PHP Aynı Başlık Altında İlgili Resimleri Listeleme

yazilimyolcusu
1,902 defa görüntülendi

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

    <?php
	ob_start();
	include "../../../baglanti.php";
	?>

	<head>
	<link rel="stylesheet" href="../../../css/stil.css">
	</head>
	
	
	<?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;
	
	$resimcek     = $db->query("SELECT * FROM albumeresimekle ORDER BY albumeresimekle_baslik DESC LIMIT $goster, $limit");
	$resimlerial  = $resimcek->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);">
	<!--  Resimleri ve başlıklarını komple birbiri ardına sola alıyor. Başlangıç  -->
	
	<div style="position:absolute; width:1250px; height:50px; background:#81a8f4; padding-left:10px; font-size:20px;
				color:#fff;"><?php echo $resim['albumeresimekle_baslik']; ?></div>
	
	<div class="cokluresimlisteleresim" style="position:absolute; top:53px; margin-left:0px; font-size:20px; color:#fff;">	
	<img src="../../../upload/albumeresimekle/<?php echo $resim["albumeresimekle_adi"]; ?>">
	<?php echo $resim["albumeresimekle_baslik"]; ?></div>
	
	<div class="cokluresimlisteleresimyazisi">
	<a href="../../../resim-galerisi.php<?php echo substr($resim['albumeresimekle_baslik'],0,44); ?>">
		<?php echo substr($resim['albumeresimekle_baslik'],0,44); ?></a>  <!-- Veritabanından çekilen string in karakter sayısını belirliyor. -->
	
	
	<div class="silduzenlediv"><a href="duzenle.php?duzenle=<?php echo substr($resim['albumeresimekle_id'],0,44); ?>">
			<div class="duzenle">Düzenle</div></a><a href=""><div class="sil">Sil</div></a></div>	
	</div>

	</div>    <!--  Resimleri ve başlıklarını komple birbiri ardına sola alıyor. Bitiş  -->
	
	
	<?php } ?>
	
	<div style="clear: both;">   <!--  Sayfalama numaralarını resimlerin aşağısında tutabilmek için gerekli. Aksi takdirde resimlerin yanına geçiyor. Başlangıç  -->
	
	<?php if ($sayfa > 1) { ?>
	
	<!--  Aşağıdaki "div" sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Numaraların birbirinden 10px sağa kayması için "padding" verdim. Resimlerin 10px aşağısında olması için.  --> 
	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
			<a href="tumresimlerilistele.php?sayfa=1">İlk</a></div>


	<!--  Aşağıdaki "div" sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Numaraların birbirinden 10px sağa kayması için "padding" verdim. Resimlerin 10px aşağısında olması için.  -->
	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
			<a href="tumresimlerilistele.php?sayfa=<?php echo $sayfa - 1 ?>">Önceki</a></div>

	<?php } ?>

	<?php
	for($i = $sayfa - $gorunensayfa; $i < $sayfa + $gorunensayfa +1; $i++) {
	if($i > 0 and $i  <= $sayfa_sayisi) {
	if($i == $sayfa) {
	?>

	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">   <!--  Sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Resimlerin 10px aşağısında olması için. Başlangıç  -->
	<?php echo '<span>'.$i.'</span>'; ?>
	</div>  <!--  Sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Resimlerin 10px aşağısında olması için. Bitiş  -->

	<?php } else { ?>

	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">  <!--  Sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Resimlerin 10px aşağısında olması için. Başlangıç  -->
	<?php    echo '<a href="tumresimlerilistele.php?sayfa='.$i.'">'.$i.'</a>';   ?>
	</div>   <!--  Sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Resimlerin 10px aşağısında olması için. Bitiş  -->

	<?php  }  }  } if ($sayfa != $sayfa_sayisi) {  ?>

	<!--  Aşağıdaki "div" sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Numaraların birbirinden 10px sağa kayması için "padding-left" verdim. Resimlerin 10px aşağısında olması için.  -->
	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;"><a href="tumresimlerilistele.php?sayfa=<?php echo $sayfa + 1 ?>">Sonraki</a></div>


	<!--  Aşağıdaki "div" sayfalama numaralarını birbirinin soluna almak için "float:left" ekledim. Numaraların birbirinden 10px sağa kayması için "padding-left" verdim. Resimlerin 10px aşağısında olması için.  -->
	<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;"><a href="tumresimlerilistele.php?sayfa=<?php echo $sayfa_sayisi ?>">Son</a></div>

	
	<?php } ?>
	
	</div>  <!--  Sayfalama numaralarını resimlerin aşağısında tutabilmek için gerekli. Aksi takdirde numaralar resimlerin yanına geçiyor. Bitiş  -->
	<br>
?>
yazilimyolcusu
1137 gün önce

Arkadaşlar merhaba. Konunun sonuna geldim ve son bir şey kaldı. Şu an ki sorunumu anlamak için en üstten okumanıza gerek yok. Buradan itibaren okuyabilirsiniz. Şu probleme tekrar bir bakabilir misiniz? Şimdi yanyana listeleme işini farklı bir şekilde yapmaya karar verdim ve o konuda bir problem kalmadı. Problem şu: Albümleri 1. resimdeki gibi listeletiyorum. Albüm adına tıklayınca o albüme ait resimler çıkıyor başka bir sayfada. 2. resme bakabilirsiniz. Ama aynı zamanda da sayfalama yaptırmak istiyorum. Onu da yaptım. Aynı anda hem sayfalamayı hem de id ye göre resim listeletmeyi beceremedim. 1. resim albüm listeletme, 2. resim sayfalama, 3. resim ise albüme göre filtreleme.
Sayfalama yaptığım kodlar aşağıda

<?php
$sayfa = @intval($_GET['sayfa']); if(!$sayfa) $sayfa = 1;
$resimsorgusu = $db->query("SELECT * FROM albumeresimekle ORDER BY albumeresimekle_id DESC");
$ToplamVeri = $resimsorgusu->rowCount();
$Limit = 5;
$Sayfa_Sayisi = ceil($ToplamVeri/$Limit); if($sayfa > $Sayfa_Sayisi){$sayfa = 1;}
$Goster = $sayfa * $Limit - $Limit;
$GorunenSayfa = 2;

$resimsorgusu=$db->prepare("SELECT * FROM albumeresimekle order by albumeresimekle_id DESC limit $Goster,$Limit");
$resimsorgusu->execute(array());
$resimsorgu=$resimsorgusu->fetchAll(PDO::FETCH_ASSOC);
foreach($resimsorgu as $resim) {
?>  

<div class="cokluresimlistelealani"> 

<div class="cokluresimlisteleresim"><img src="../../../upload/albumeresimekle/<?php echo $resim["albumeresimekle_adi"]; ?>">


<div class="cokluresimlisteleresimyazisi">
<a href="../../../resim-galerisi.php<?php echo $resim['albumeresimekle_baslik']; ?>"><?php echo $resim['albumeresimekle_baslik']; ?></a>


<div class="silduzenlediv"><a href="duzenle.php?duzenle=<?php echo $resim['albumeresimekle_id']; ?>"><div class="duzenle">Düzenle</div></a><a href=""><div class="sil">Sil</div></a></div>	
</div>

</div>

</div>

<?php } ?>

	<div style="clear: both;">

<?php if ($sayfa > 1) { ?>
 
<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
		<a href="resimlistele.php?sayfa=1">İlk</a></div>

<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
		<a href="resimlistele.php?sayfa=<?php echo $sayfa - 1 ?>">Önceki</a></div>

<?php } ?>

<?php
for($i = $sayfa - $GorunenSayfa; $i < $sayfa + $GorunenSayfa +1; $i++) {
if($i > 0 and $i  <= $Sayfa_Sayisi) {
if($i == $sayfa) {
?>

<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
<?php echo '<span>'.$i.'</span>'; ?>
</div>

<?php } else { ?>

<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;">
<?php    echo '<a href="resimlistele.php?sayfa='.$i.'">'.$i.'</a>';   ?>
</div>

<?php  }  }  } if ($sayfa != $Sayfa_Sayisi) {  ?>

<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;"><a href="resimlistele.php?sayfa=<?php echo $sayfa + 1 ?>">Sonraki</a></div>

<div style="float: left; padding-left: 10px; margin-top: 10px; margin-bottom: 37px;"><a href="resimlistele.php?sayfa=<?php echo $Sayfa_Sayisi ?>">Son</a></div>

<?php } ?>

</div>

Filtreleme yaptığım kodlar aşağıda

<?php
ob_start();
include "../../../baglanti.php";
?>

<head>
<link rel="stylesheet" href="../../../css/stil.css">
</head>

<?php

$resimsorgusu = $db->query("SELECT * FROM resimalbumu WHERE resimalbumu_id");
$resimsorgu = $resimsorgusu->fetchAll(PDO::FETCH_ASSOC);
$resimlerilistele = $_GET['resimlerilistele'];
$resimsorgusu = $db->query("SELECT * FROM albumeresimekle WHERE albumeresimekle_sirasi='$resimlerilistele'");
$resimsorgu  = $resimsorgusu->fetchAll(PDO::FETCH_ASSOC);
foreach($resimsorgu as $resim) {
?>  

<div class="cokluresimlistelealani"> 
<!--  Resimleri ve başlıklarını komple birbiri ardına sola alıyor. Başlangıç  -->

<div class="cokluresimlisteleresim"><img src="../../../upload/albumeresimekle/<?php echo $resim["albumeresimekle_adi"]; ?>">


<div class="cokluresimlisteleresimyazisi">
<a href="../../../resim-galerisi.php<?php echo $resim['albumeresimekle_baslik']; ?>"><?php echo $resim['albumeresimekle_baslik']; ?></a>


<div class="silduzenlediv"><a href="duzenle.php?duzenle=<?php echo $resim['albumeresimekle_id']; ?>"><div class="duzenle">Düzenle</div></a><a href=""><div class="sil">Sil</div></a></div>	
</div>

</div>

</div>

<?php } ?>

İkisini birleştiremedim. yardım edebilirseniz sevinirim.
https://hizliresim.com/9S9Ibi
https://hizliresim.com/OZ6WmP
https://hizliresim.com/DM9dwE