İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Php İle Sayfalamaya Çok Güzel Bir Örnek - 2

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Php İle Sayfalamaya Çok Güzel Bir Örnek isimli bir konumuz vardı.

Buna ek olarak yeni bir şeklini daha yayınlayalım. Class'ımız gene aynıdır. O sayfadan indirebilirsiniz.

Ekran görüntüsü aşağıdaki gibidir.

PHP:
<?php
	
	class page
	{
		var $kac_sayfa 				= 3; // sayfalama da mevcut sayfadan önce ve sonrasında kaç bağlantı gösterileceği.
		var $title 					= 'sayfalar'; // Sayılar üzerine gelecek olan title.
		var $title_sonraki_sayfa 	= 'Sonraki sayfa'; // sonraki sayfa bağlantısı için title.
		var $title_onceki_sayfa 	= 'Önceki sayfa'; // önceki sayfa bağlantısı için title.
		var $title_ilk_sayfa 		= 'İlk sayfa'; // ilk sayfa bağlantısı için title.
		var $title_son_sayfa 		= 'Son sayfa'; // son sayfa bağlantısı için title.	
		var $site					= 'http://localhost/site/'; // site adresimiz. sonunda slash olmalı
		var $bolum1					= 'index.php?sayfa='; // sayı linklerinde sayıdan önce gelmesi istenilen alan.
		var $bolum2					= ''; // sayıdan sonra gelmesi istenilen bölüm
		
	   /* $tablo_name 	= sonuçlarını sayılacağı tablo adı
		* $osullar 		= veritabaında sayılacak olan verinin koşulları
		* $limit 		= bir sayfada gösterilecek olan sonuç listesi
		*/
		function sayfala($tablo_name,$kosullar,$limit)
		{
			
			$toplam = "select COUNT(*) as num from $tablo_name $kosullar";
			$toplam = mysql_fetch_array(mysql_query($toplam));
			$toplam_sayfa = $toplam[num];
			
			$sayfa_sayisi = ceil($toplam_sayfa / $limit); // içerik sayısını limite bölerek kaç sayfa olduğunu belirliyoruz.
			//  sayfa oluşturacak içerik yok ise
			if ($toplam_sayfa == 0 OR $sayfa_sayisi == 1)
			{
			 return ;
			}
			// eğer oluşturacak sayfa varsa
			else
			{
				$pagenation = '<div class="pagination">';
				$sayfa = ($_GET['sayfa']);
				if ($sayfa == "") { $sayfa = 0; }
				
				// İlk sayfaya git linki için
				if ( $sayfa_sayisi > 1 )
				{
					
					// ilk sayfada ise linki kaldırıyoruz.
					if ($sayfa <= 1)
					{
						$pagenation .= '<span class="disabled">'.$this->title_ilk_sayfa.'</span>';
					}
					// ilk sayfada değilse linki ekliyoruz.
					else
					{
						$pagenation .= '<a href="'.$this->site.''.$this->bolum1.'1" title="'.$this->title_ilk_sayfa.'">'.$this->title_ilk_sayfa.'</a>';
					}
					// önceki sayfa yapısını oluşturuyoruz.
					// önceki sayfa linkini 1'den büyük sayfalar için oluşturuyoruz
					if ($sayfa > 1)
					{
						$pagenation .= '<a href="'.$this->site.''.$this->bolum1.''.($sayfa-1).'" title="'.$this->title_onceki_sayfa.'">'.$this->title_onceki_sayfa.'</a>';
					}
					// öncekisi olamayacak olan sayfa
					else
					{
						$pagenation .= '<span class="disabled">'.$this->title_onceki_sayfa.'</span>';
					}
					// sayıları oluşturuyoruz.
					for ( $sayac = ($sayfa - $this->kac_sayfa); $sayac <= ($sayfa + $this->kac_sayfa) ; $sayac++ )
					{
						// sayfa sayısı 1'den küçük ise ve sayfa sayısından büyük ise göstermiyoruz.
						if ( $sayac < 1 or $sayac > $sayfa_sayisi )
						{
						}
						else
						{
							// mevcut sayfadaki sayfalama bağlantısına link vermiyoruz.
							if ($sayac == $sayfa)
							{
								$pagenation .= '<span class="disabled">'.$sayac.'</span>';	
							}
							// diğerlerine o sayfanda link veriyoruz.
							else
							{
								$pagenation .= '<span><a href="'.$this->site.''.$this->bolum1.''.$sayac.'" title="'.$this->title.'">'.$sayac.'</a></span>';
							}
						}
					}
					// sonraki sayfa bağlantısını ayarlıyoruz.
					if ($sayfa < $sayfa_sayisi and $sayfa > 0)
					{
						$pagenation .= '<span><a href="'.$this->site.''.$this->bolum1.''.($sayfa+1).'" title="'.$this->title_sonraki_sayfa.'">'.$this->title_sonraki_sayfa.'</a></span>';
						$pagenation .= '<span><a href="'.$this->site.''.$this->bolum1.''.$sayfa_sayisi.'" title="'.$this->title_son_sayfa.'">'.$this->title_son_sayfa.'</a></span>';
					}
					else
					{
						$pagenation .= '<span class="disabled">'.$this->title_sonraki_sayfa.'</span>';
						$pagenation .= '<span class="disabled">'.$this->title_son_sayfa.'</span>';
					}

				}
				
				$pagenation .= '</div>';
			}
			
			return $pagenation;
			
		}
	}
	

	
?>
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
Biz mvc de proje geliştiriyoruz. :) ama Php yi de bırakmak istemiyorum.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
61
Konum
Antalya
baya geç oldu ama :) ortakla beraber E-Ticaret sitesi yazıyoruz birde idda sitesi.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst