• 14-09-2012, 11:40:06
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar

    sorum aslında başlıkta

    önce mantık olarak sormak istiyorum çözemezsem kodlarıda vereceğim.

    sayfam if($_GET) ile veritabanından id numarasına göre veri çekiyor. eğer get ile bi değer gelmediyse veritabanındaki tüm başlıkları listeliyor.

    buraya kadar bir sorun yok.

    ama gelen veri sayısı arttığından ben bunu bölmek istiyorum. önceki sayfa sonraki sayfa vs eklemek istiyorum.

    onuda yine get fonksiyonu ile çağıracağım (başka bir çağırma yöntemi bilmiyorum ) ama bu kez sayfada if ler else ler birbirine giriyor.

    bu sorunu nasıl halledebilirim?
  • 14-09-2012, 11:53:13
    #2
    Üyeliği durduruldu
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    Selamlar

    sorum aslında başlıkta

    önce mantık olarak sormak istiyorum çözemezsem kodlarıda vereceğim.

    sayfam if($_GET) ile veritabanından id numarasına göre veri çekiyor. eğer get ile bi değer gelmediyse veritabanındaki tüm başlıkları listeliyor.

    buraya kadar bir sorun yok.

    ama gelen veri sayısı arttığından ben bunu bölmek istiyorum. önceki sayfa sonraki sayfa vs eklemek istiyorum.

    onuda yine get fonksiyonu ile çağıracağım (başka bir çağırma yöntemi bilmiyorum ) ama bu kez sayfada if ler else ler birbirine giriyor.

    bu sorunu nasıl halledebilirim?
    Yanlış Anlamadıysam Sayfalama Mı ? Yapmak İstiyorsunuz Hocam ? Gelen Verileri Örneğin 5 er 5 er Mi Listeletmek Mi İstşyorsunuz ?
  • 14-09-2012, 11:53:56
    #3
    Üyeliği durduruldu
    pagination konusunu biraz araştırmanı tavsiye ederim. Söylediğin yöntem kullanılışlı değil. sql sorgunda limit kullanarak yapmalısın.
  • 14-09-2012, 12:02:48
    #4
    <? // get ile gelen veri kontrolü ve sorgu
    	if ($_GET){
        $id=$_GET["id"];
    	$query = mysql_query("select * from Blog WHERE ID='$id'");
    	mysql_query("Update Blog SET Hit=(Hit+1) where ID ='$id' "); 	
    		
    // değer varsa
    $id = intval($_GET['id']);
    if(!sayfa) $sayfa = 1;
    
    ?>
    
    <?php
    // Döngü
    while($sonuc=mysql_fetch_array($query))	{
    	
    	// hit sayısını arttır
    	$hit = $r['Hit']; 
    	
    	?> 
        <p>&nbsp;</p>
        <p align="left"><strong>Yazan: </strong><?php echo $sonuc['Yazar_ID']; ?> <br />
        <strong>Tarih: </strong><?php echo $sonuc['Tarih']; ?></p>
        <p>&nbsp;</p>
        <img src="<?php echo $sonuc['Gorsel_Adresi']; ?>" />
        <p>&nbsp;</p>
        <p class="bigFont"><em><?php echo $sonuc['Baslik']; ?></em></p>
        <p>&nbsp;</p>
        <?php echo $sonuc['Yazi']; ?>
        <p>&nbsp;</p>
        Fotoğraf Sergisi için <a href="sergi.php?id=<?php echo $sonuc['ID']; ?>">tıklayın</a>
        <p align="right">Okunma Sayısı: <?php echo $sonuc['Hit']; ?></p>
        <p>&nbsp;</p><?php
    }
    ?>
    Bu bölüm sayfamın başlangıç bölümü. GET ile gelen veri kontrolünü yaptığım yer eğer bir veri varsa sorgusunu yapıp ekrana veriyi getiriyor.

    <?
    }
    else{
    ?>
    Eğer GET ile gelen veri yoksa bölümüm burada başlıyor.

    <?php
    
    $sayfa = intval($_GET['sayfa']);
    if (!$sayfa){
    			  $sayfa = 1;
    		  }
    $toplam = mysql_num_rows(mysql_query("select * from Blog"));
    $limit = 5;
    $goster = $limit*($sayfa-1);
    
    
    $query = mysql_query("select * from Blog ORDER BY Tarih DESC limit $goster,$limit");
    	?>
          
          <?php
    // Döngü
    while($sonuc=mysql_fetch_array($query))	{
    	?>
          <a href=gunluk.php?id=<?php echo $sonuc['ID']?>><img src="<?php echo $sonuc['Gorsel_Adresi']; ?>" /></a>
        </p>
        <p>&nbsp;</p>
       <p class="bigFont"><a href=gunluk.php?id=<?php echo $sonuc['ID']?>><?php echo $sonuc['Baslik']; ?></a><br />
       <p>&nbsp;</p>
       <p align="left"><em><?php 
       $soruuzun=$sonuc['Yazi'];
       $yenisoru= substr($soruuzun,0,345);
       
       echo $yenisoru; echo '...'; ?></em></p>
       
       <p align="right"><a href=gunluk.php?id=<?php echo $sonuc['ID']?>>devamı...</a><p>&nbsp;</p></p>
       <img src="gorseller/gerekliler/cizik.jpg" />
       <p>&nbsp;</p>
        <?php
    }
    ?>
    <p>&nbsp;</p>
    
    <?php 
    $sayfa_sayi	= ceil($toplam/$limit);
    $forlimit=3;
    
    $i = 1;
    
    	 if ($sayfa > 1) {
    		 $onceki = $sayfa -1;
    		echo '<a href="gunluk.php">İlk</a> <a href="index.php?sayfa='.$onceki.'"> &lt;&lt; Önceki </a>';
    	}
    
    for ($i = $sayfa - $forlimit; $i < $sayfa + $forlimit +1; $i++){
    	if($i>0 && $i <= $sayfa_sayi)
    
    	if ($sayfa==$i){
    		echo "<a class=aktif> $i </a>";
    	}else{
    		echo "<a href=gunluk.php?sayfa=$i> $i </a>";
    	}
    }
    
    if($sayfa != $sayfa_sayi){
    	echo '<a href="gunluk.php?sayfa='.($sayfa+1).'"> Sonraki &gt;&gt; </a>';
    	echo '<a href="gunluk.php?sayfa='.$sayfa_sayi.'"> Son </a>';
    }
    
    ?>
    
    <?
    }
    ?>
    Bu bölümde eğer GET ile gelen veri yoksa göstermesini istediğim bölüm. Dikkat edilecek olursa limit değeri var. ikinci kez GET lafını burada kullanıyorum (ya da kullanmaya çalışıyorum)

    Sayfama ilk girişte GET ile gelen bişey yoksa yukarıdakini yapıyor. Ben istiyorum ki verdiğim limite göre sayfaya bölsün ama şu haliyle saçma sapan bişey çıkartıyor
  • 14-09-2012, 12:23:58
    #5
    Üyeliği durduruldu
    Merhaba Hocam . Sayfalama İçin Böyle Bir Şey Yapabilirsiniz . Linke Verdiğniz Değeri isset İle Kontrol Ettirerek İşlem Yapabilirsiniz.

    <?
    if(isset($_GET['i'])){
    		$i = (int)$_GET['i'];
    		$kacar   = 5;
    		$nereden = $kacar * ($i - 1);
    	
    		$sql = mysql_query("SELECT * FROM `mfge_resimler` WHERE `id` LIMIT {$nereden},{$kacar}");
    		while($veri = mysql_fetch_assoc($sql)){
    	
    		echo $veri['resim'],'<br>';
    	
    	}
    	}else {
    	
    	?>
    	
    		<a href = "?i=2">2.sayfa</a>  <!--   Burayı Otomatik Olara Buldurursunuz ->
    	<?
    	
    	$sql = mysql_query("SELECT * FROM `mfge_resimler` WHERE `id` LIMIT 0,5");
    		while($veri = mysql_fetch_assoc($sql)){
    	
    		echo $veri['resim'],'<br>';
    	
    	}
    	} ?>
  • 14-09-2012, 12:44:03
    #6
    Peki bu isset kontrolünü benim kodların en başındaki bölümde mi yaptırmam gerekir? Kafam biraz karıştı.

    $id=$_GET['id'];

    le başlayan yeri mi kontrol ettirmeli? biraz bişeyler denedim ama hep hata ya da saçma sonuçlar aldım
  • 14-09-2012, 12:52:24
    #7
    Üyeliği durduruldu
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    Peki bu isset kontrolünü benim kodların en başındaki bölümde mi yaptırmam gerekir? Kafam biraz karıştı.

    $id=$_GET['id'];

    le başlayan yeri mi kontrol ettirmeli? biraz bişeyler denedim ama hep hata ya da saçma sonuçlar aldım
    Hocam Yazıyı Nereye Yazdıracaksınız O Bölümde Kullanacaksınız . Sadece Veri Tabanında Ki Tablo Ve Sütun Adınızı Birde enim Link Verdiğim i Değeri İle isset De Kontrol Etttiğim i Değerini İkisi Aynı Olacak Şekilde Kendinize Göre Düzeltmek

    Mesala İkisinide link Yapabilirsiniz