• 11-03-2014, 23:52:51
    #1
    @saintx Hocam Bu Kodun Neresinde Hata Var Acaba Bir Türlü Çözemedim $genel_limit değişkenine atadığım değeri aşınca çalışmıyor sayfalama yapmaya çalışıyorum ama bir türlü sayfalamayı yapamadım

    <?php
    
    if ( preg_match( "#tum-mansetler.php#", $PHP_SELF ) )
    {
    	header( "Location: index.php" );
    	exit( );
    }
    if ( empty( $_GET['s'] ) )
    {
    	$row['offset'] = 0;
    	$sayfa = 1;
    }
    else
    {
    	$sayfa = intval( $_GET['s'] );
    	if ( $sayfa == "" )
    	{
    		$sayfa = 1;
    	}
    	$basla = ( $sayfa - 1 ) * $genel_limit;
    	$row['offset'] = ceil( $basla );
    }
    $ayar['siteadi'] = $ayar['slogan'] = "Tüm Manşetler";
    $ayar['keywords'] = keywords_insert( tirnaksil( $ayar['siteadi'] ) );
    $row['mansetler'] = yatayhaber( $row['offset'], $genel_limit, false, false, true );
    $row['toplam'] = $row['mansetler'][0]['toplam'];
    $row['total_page'] = ceil( $row['toplam'] / $genel_limit );
    $numLinks = 10;
    $start = $sayfa - $sayfa % $numLinks;
    $end = $start + $numLinks - 1;
    $end = min( $row['total_page'], $end );
    $row['pagingLink'] = "";
    if ( 1 < $row['total_page'] )
    {
    	if ( 1 < $sayfa )
    	{
    		$row .= "pagingLink";
    	}
    	$page = $start;
    	while ( $page <= $end )
    	{
    		if ( $page == $sayfa )
    		{
    			$row .= "pagingLink";
    		}
    		else if ( $page != 0 )
    		{
    			$row .= "pagingLink";
    		}
    		++$page;
    	}
    	if ( $sayfa < $row['total_page'] )
    	{
    		$row .= "pagingLink";
    	}
    }
    $theme->assign( "row", $row );
    $theme->assign( "ayar", $ayar );
    $fetch_tpl = $themes_dir.$temam."/modules/".$m.".tpl";
    $theme->assign( "content", $theme->fetch( $fetch_tpl ) );
    ?>
  • 12-03-2014, 20:54:48
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @Asimavi; $genel_limit değişkenine nereden veri geliyor? Biraz yorgunumda betiğe pek dikkatli bakamadım.
  • 12-03-2014, 21:01:08
    #3
    @saintxadmin panelden ayarlıyorum hocam $genel_limit'i ayrıca tanımlama yapmadım sayfada değişken olduğu için ama
  • 12-03-2014, 21:14:14
    #4
    @Asimavi; şu kısımdan önce
    $row['mansetler'] = yatayhaber( $row['offset'], $genel_limit, false, false, true );
    şunu
    var_dump($genel_limit);
    ekleyip sonucu konuya yazabilir misin?
  • 12-03-2014, 21:22:26
    #5
    @saintxstring(2) "99" Veriyor Hocam Benim Admin Panelden Tanımladığım Limiti ama veri tabanını sayfaya veya sayfalara yansıtmıyor.
  • 12-03-2014, 21:24:24
    #6
    @Asimavi; yatayhaber fonksiyonunda ne gibi işlemler dönüyor?
  • 12-03-2014, 21:49:45
    #7
    @saintx

    Yatay haber Fonksiyonu bu şekilde hocam
    function yatayhaber($offset, $limit, $cat, $yatay=false, $manset=false) {
    	global $db, $order, $ayar, $theme_path, $dir, $url;
    	
    	//$db->cache_queries = true;
    
    	if($offset) {
    		$offset = $offset.", ";
    	} else {
    		$offset = '';
    	}
    
    	$ext   = '';
    	$catid = kategori_to_id($cat);
    
    	if($manset) {
    		$manset_where_kriter = 'fmanset';
    	} else {
    		$manset_where_kriter = 'ymanset';
    	}
    	
    	if(isset($_GET['anakategori'])) { 
    		$anakategori = temizle($_GET['anakategori']); 
    		
    		if($db->sayac("haberkat","parent='".$catid."' AND aktif = '1'")) {
    			$altc = $db->sorgu("SELECT id FROM haberkat WHERE parent = '".$catid."'");
    			while($x=$db->assoc($altc)) {
    				$ext.= ",".intval($x['id']);
    			}
    
    		}
    
    	}
    
    	if($cat==FALSE) {
    		$sql_ymanset = $manset_where_kriter." = '1' AND ";
    	} else {
    		$sql_ymanset = "";
    	}
    
    
    	$arakriter = "catid IN(".$catid.$ext.") AND ";
    	
    	if($cat!=false) {
    		$toplam_haber_sayisi = $db->sayac("haber","".$arakriter." ".$sql_ymanset." catid = '$catid' AND aktif = '1' AND onay = '1'");
    
    		if($toplam_haber_sayisi>=$sayfa) {
    			$q = $db->getir("SELECT id, baslik, hta, resim, spot, renk, kalin, ziplat, (select baslik from haberkat where haber.catid=haberkat.id) as kategori, yorum FROM haber WHERE ".$arakriter." ".$sql_ymanset." aktif = '1' AND onay = '1' ORDER BY $order LIMIT $offset $limit");
    		} else {
    			$q = $db->getir("SELECT id, baslik, hta, resim, spot, renk, kalin, ziplat, (select baslik from haberkat where haber.catid=haberkat.id) as kategori, yorum FROM haber WHERE ".$arakriter." ".$sql_ymanset." aktif = '1' AND onay = '1' $ext ORDER BY $order LIMIT $offset $limit");
    		}
    	} else {
    		$toplam_haber_sayisi = $db->sayac("haber","".$sql_ymanset." aktif = '1' AND onay = '1'");
    		if($toplam_haber_sayisi>=$sayfa) {
    			$q = $db->getir("SELECT id, baslik, hta, resim, spot, renk, kalin, ziplat, (select baslik from haberkat where haber.catid=haberkat.id) as kategori, yorum FROM haber WHERE ".$sql_ymanset." aktif = '1' AND onay = '1' ORDER BY $order LIMIT $offset $limit");
    		} else {
    			$q = $db->getir("SELECT id, baslik, hta, resim, spot, renk, kalin, ziplat, (select baslik from haberkat where haber.catid=haberkat.id) as kategori, yorum FROM haber WHERE ".$sql_ymanset." aktif = '1' AND onay = '1' ORDER BY $order LIMIT $offset $limit");
    		}
    	}
    
    	if(!$q) return false;
    		
    		$row_n   = array();
    		$classes = array("left_margin", "middle_box", "right_margin");
    
    		$i=0;
    		$a=0;
    		$margin = '';
    		
    		foreach($q AS $row) {
    			
    
    			$hta = $ayar['url'].$row['hta']."-h".$row['id'].".html";
    
    			if($row['resim']=='' OR !file_exists($dir."images/haberler/thumbs2/".$row['resim'])) {
    				$resim = $theme_path."images/no_headline_thumb.jpg";
    			} else {
    				$resim = $ayar['url']."images/haberler/thumbs2/".$row['resim']."";
    			}
    			
    			
    			if($yatay===FALSE) {
    				if(strlen($row['baslik'])>33) {
    					$row['baslik'] = character_limiter($row['baslik'],40);
    					$row['spot']   = character_limiter($row['spot'],85);
    
    				} else {
    					$row['baslik'] = character_limiter($row['baslik'],30);
    					$row['spot']   = character_limiter($row['spot'],125);
    				}
    			} else {
    				$row['baslik'] = character_limiter($row['baslik'],40);
    				$row['spot']   = character_limiter($row['spot'],150);
    
    			}
    
    			$row['baslik'] = baslik_stili($row['renk'],false,$row['ziplat'],$row['baslik']);
    
    			if($a>5 AND $a<12) {
    				$row['horizontal'] = 'horizontal';
    			} else { 
    				$row['horizontal'] = '';
    			}
    
    			$row['toplam'] = $toplam_haber_sayisi;
    
    			
    
    
    			unset($row['renk']);
    			unset($row['kalin']);
    			unset($row['ziplat']);
    			unset($row['hta']);
    			unset($row['id']);
    
    			$row['resim']  = $resim;
    			$row['margin'] = $classes[$i];
    			$row['hta']    = $hta;
    
    			$row_n[] = $row;
    
    		
    		($i > 1) ? $i = 0 : $i++ ;
    		($a ==11) ? $a = 0 : $a++ ;
    		}
    
    		//$db->cache_queries = false;
    		#$db->debug();
    
    
    		return $row_n;
    
    
    
    }
  • 13-03-2014, 14:10:31
    #8
    @Asimavi, yazdığın kodları göre pek bişey diyemedim belki anlık kurcalamak lazım amabenim her projemde kullandığım listeleme yapısını paylaşmak istedim.

    Tam hatırlamadım yabancı bir siteden almıştım bende.

    Aşağıdaki yapıya bakarak, belki mevcut yapınızda değiştirerek işlemi halledebilirsiniz.

    PHP Sayfa Listeleme
  • 13-03-2014, 20:52:28
    #9
    Teşekkürler @yvolkan Hocam Ama O İşlemler Beni Biraz Daha Zorlayacaktır Uyarlamak.

    @saintx Hocam Bu Hatanın Eminim İnceliğini Yakalayıp Nerde Hata Olduğunu Söyleyecektir. Ona Göre Bir Düzenleme Yapmayı Düşünüyorum.