Tam Sürümünü Görmek İçin : << 1 2 3 4..20 30 >> evet sayfalama algortiması
selam
database deki mesajları sayfalamak istiyorum
başlıktaki gibi gorunmesinin mantığı nedir?
mkarabulut
10/08/2002, 09:00
Selamlar...
Kasttiğin dil ASP ve ADODB kullanarak yapmak ise,
RecordSet'in
AbsolutePage
PageSize
PageCount
özelliklerini kullanarak bu işi yapabilirsin
Bu konuda şurada bir makale var :
http://www.asp101.com/articles/recordsetpaging/index.asp
Kastettiğin PHP ve mysQL ise,onunda kendine göre bir metodu var.
1- Tüm kayıt sayısını bulup, sayfa sayısını belirleyeceğin sayfa boyutuna göre hesaplamak.
2- mysql'in LIMIT özelliğini kullanarak sadece parametrelere belirlenmiş sayfanın kayıtlarını mysql'den çekmek.
<?
/*
Adım 1. Kayıt sayısını ve sayfa sayısını bul
*/
$pagesize=20;
$sorgulama=mysql_query("SELECT * FROM tablo");
$toplam_kayit=mysql_num_rows($sorgulama);
//ceil 2.5 gibi bir sayıyı 3 2 yuvarlamak için kullanılır
$toplam_sayfa = ceil($toplam_kayit/$pagesize);
/*
Adım 2 . Sayfaya göre kayıtları listele
ve sayfalama linklerini göster
*/
$page=$HTTP_GET_VARS["page"];
$baslangic = ($page - 1 ) * $pagesize;
$sorgulama=mysql_query("SELECT * FROM tablo LIMIT $baslangic,$pagesize");
while ($kayit=mysql_fetch_array($sorgulama)){
//kayıtlara istediğiniz gibi davranabilirsiniz
//sadece bulunulan sayfanın kayıtları var
}
/*
sayfalama linkleri
*/
echo "Sayfa : ";
for ($i=1;$i<=$toplam_sayfa;$i++){
if ($i==$page)
echo " $i ";
else
echo " <a href=\"$PHP_SELF?page=$i\">$i</a> ";
}
/* Bu kadar */
?>
Daha düzgün bir sayfalama örneğini
ocal.net server taraflı teknikler tarafında bulabilirsiniz. Yanılmıyorsam Asosyal nickli arkadaş yazmıştı yazıyı.
Kolay gelsin
Sağolasın kardeş.
Birde örneğin forumda sayfalama yaparken, << 1 2 3 4 5.. 20 21 >>
gibi gösterimler oluyor sanırım onlarda şu mantığa dayanıyor.
en fazla 10 sayfaysa normal göster.
10 dan yukarıysa ilk 8'i göster sonra son ikiyi ekle.
tabi biraz daha karışık olmalı aslında..
Aslında perl ile forum yazmayı planlıyorum ondan bazı algoritmaları çözmeye çalışıyorum..
flat text database olacak her konu için farklı dosyalar oluşturulacak ve toplam topic sayısı bir dosyaya yazılacak biraz hızlı olmasından ve bir tek dosyaya fazla veri girmemek için farklı dosya kombinasyonları falan olması lazım.
Bazı forum scriptlerinide inceleyeyim bu arada..
mkarabulut
10/08/2002, 11:24
Öncelikle kolay gelsin diyeyim...
Fakat önümüzde bir firma tarafından yapılmış Text+PERL kullanan UBB gibi bir örnek var, ne kadar yavaş çalıştığını ve insanı ne gıcık ettiğini haıtlarsın...
Neden text dosyalar ve PERL, sorabilirmiyim ?
Hayatta olmaz Perl ve txt databaseli bir forum Perl ve MYSQL ok hep beraber yapabiliriz bunu. Ne dersin Düzgün?
Orjinal mesajı gönderen mkarabulut
Neden text dosyalar ve PERL, sorabilirmiyim ?
Aslında elimde şimdiden multi kullanıcılı sayaç ve ziyaretçi defteri servisleri var ve bütün hostinglerde çalışacak şekilde yazıldı. Free hostlar baz alınarak tabi. Çünkü en az modul ve kullanım desteği veren onlar. sonra bunlara birde multi forum ekleyip guzel bi paket yapmayı düşünüyordum hepsinin bi yonetim paneli olacaktı sonra backup lama filam yani sonuçta bütün hostlar için olduğundan text tabanlı olması şart. gelişmiş forumlar gibi ayrıntılı olmasına gerek yok tabi hem bi başlangıçta olmuş olur. tecrube kazanırdım biraz programcılıktada..
Orjinal mesajı gönderen Sahin
Hayatta olmaz Perl ve txt databaseli bir forum Perl ve MYSQL ok hep beraber yapabiliriz bunu. Ne dersin Düzgün?
Tamam bak buda olabilir. Text tabanlı yaptığım arada kaynar nede olsa aynı mantık buna yoğunlaşırız devam edebiliriz..
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.