Php ile Sayfalama - Google Fan Webmaster Forum
Google Fan Webmaster Forum  
herşeyi sana yazdım

Geri git   Google Fan Webmaster Forum > Server Side Programlama > PHP
KEY
Kayıt ol Articles Sosyal Gruplar Forumları Okundu Kabul Et

PHP R10.net Php sevenler klubü. Kodlama soru(n)ları & acil php yardım hattı.

Like Tree2Beğeniler
  • 1 Post By Hkan
  • 1 Post By Hkan

Cevapla
 
LinkBack Seçenekler
  1  
Alt 30-10-2011, 12:55:27
 
Standart Php ile Sayfalama

PHP- Kodu:
<?php
$cekcek 
mysql_query("SELECT * FROM iletisim ORDER BY iletisim_id DESC");
while (
$listeci mysql_fetch_array($cekcek)){

$veri_adsoyad  =   $listeci['adsoyad'];
$veri_eposta   =   $listeci['eposta'];
$veri_telefon  =   $listeci['telefon'];
$veri_mesaj    =   $listeci['mesaj'];
$veri_ip       =   $listeci['ip'];
$veri_tarih    =   $listeci['tarih'];
$veri_id       =   $listeci['iletisim_id'];

    
?>

    <tr>
            <td><input type="checkbox" name="" value="" /></td>
            <td><?php echo "$veri_adsoyad "?></td>
            <td><?php echo "$veri_eposta"?></td>
            <td><?php echo "$veri_telefon"?></td>
            <td><?php echo "$veri_tarih "?></td>

            <td><a href="sonmesajlar.php?id=<?php echo "$veri_id"?>"><img src="images/comment.png" alt="" title="" border="0" /></a></td>
            <td><a href="?git=sil&id=<?php echo "$veri_id"?>" class="ask"><img src="images/trash.png" alt="" title="" border="0" /></a></td>
        </tr>
        
        
         <?php ?>
normal şekilde veri tabanında verileri bu döngü ile çekiyorum ama çektiğim verilerde sayfalama yapmak istiyorum.

PHP- Kodu:

<?php
$cekcek 
mysql_query("SELECT * FROM iletisim ORDER BY iletisim_id DESC");
while (
$listeci mysql_fetch_array($cekcek)){

$veri_adsoyad  =   $listeci['adsoyad'];
$veri_eposta   =   $listeci['eposta'];
$veri_telefon  =   $listeci['telefon'];
$veri_mesaj    =   $listeci['mesaj'];
$veri_ip       =   $listeci['ip'];
$veri_tarih    =   $listeci['tarih'];
$veri_id       =   $listeci['iletisim_id'];

    
?>
<?php 
   
// Sayfa parametresi
$sayfa = @$_GET["s"];
// Eğer sayfa boşsa ya da sayı değilse
if (empty($sayfa) || !is_numeric($sayfa)){
    
$sayfa 1;
}
// Kaçar kaçar gösterilecek
$kacar 2;
// Toplam Kayıt Sayısı
$ksayisi mysql_num_rows(mysql_query("select iletisim_id from iletisim"));
// Sayfa sayısını bulalım
$ssayisi ceil($ksayisi/$kacar);
// Nerden başlasın
$nereden = ($sayfa*$kacar)-$kacar;

// Verileri gösterelim
$bul mysql_query("select * from iletisim order by iletisim_id desc limit $nereden,$kacar");
while (
$goster mysql_fetch_array($bul)){
    
extract($goster);
    echo 
"<tr>
            <td><input type='checkbox' name='' value='' /></td>
            <td><?php echo '
$veri_adsoyad '; ?></td>
            <td><?php echo '
$veri_eposta'; ?></td>
            <td><?php echo '
$veri_telefon'; ?></td>
            <td><?php echo '
$veri_tarih '; ?></td>

            <td><a href='sonmesajlar.php?id=<?php echo '
$veri_id'; ?>'><img src='images/comment.png' alt='' title='' border='0' /></a></td>
            <td><a href='?git=sil&id=<?php echo '
$veri_id'; ?>' class='ask'><img src='images/trash.png' alt='' title='' border='0' /></a></td>
        </tr>"
;
}
for (
$i=1$i<=$ssayisi$i++){
    echo 
"<a href='mesajlar.php?s={$i}'";
    if (
$i == $sayfa){
        echo 
" class='aktif'";
    }
    echo 
">{$i}</a>";
}

?>

        
         <?php ?>
yapıca da döngü durmuyor sürekli devam ediyor.Sınırsız döngüye girmemesi için ne yapmam gerekiyor?
Alıntı ile Cevapla
  2  
Alt 30-10-2011, 14:23:20
 
Standart

PHP- Kodu:
// Veritabanında toplam kaç kayıt olduğunu buluyoruz
$miktar_sorgu mysql_query('SELECT COUNT(id) FROM tablo');
$miktar_sonuc mysql_fetch_assoc($miktar_sorgu);
$miktar $miktar_sonuc['COUNT(id)'];

// Sayfa başına kaç kayıt gösterileceğini seçiyoruz
$kacar 10;

// Adreste sayfa belirtilmişse onu kullanıyoruz, belirtilmemişse 1 kabul ediyoruz
$sayfa 1;
if (isset(
$_GET['sayfa']) && is_numeric($_GET['sayfa']))
  
$sayfa $_GET['sayfa'];

// Toplam sayfa sayısını buluyoruz
$sayfasayisi ceil($miktar/$kacar);

// Veritabanı sorgusunda kullanmak için başlangıç ofsetini buluyoruz (ofset kelimesinin tam Türkçe karşılığını bulamadım)
$ofset = ($sayfa-1)*$kacar;

// Veritabanından belirtilen sayfadaki kayıtları alıyoruz
$sorgu mysql_query("SELECT * FROM tablo LIMIT {$ofset}{$kacar}");
while (
$satir mysql_fetch_assoc($sorgu))
{
  
// İşlemleriniz
}

// Sayfaları yazdırıyoruz
for ($i 1$i <= $sayfasayisi; ++$i)
{
   if (
$i == $sayfa)
      echo 
'<b>['$i']</b>';
   else
      echo 
'<a href="?sayfa='$i'">'$i'</a>';

Bu mesajınızı beğenenler: LadyArch3r
__________________
Hakan Aktaş

Konu Hkan tarafından (30-10-2011 Saat 14:25:32 ) değiştirilmiştir..
Alıntı ile Cevapla
  3  
Alt 30-10-2011, 14:31:25
 
Standart

Hkan sayfalama da sorunum yok ki sayfalama oluyor.Benim sorunum ben verileri çekiyorum sıralı bir şekilde sayfalamayı da o veri çektiğim kodlar arasına yazıyorum sıkıntı buradan doğuyor.
Alıntı ile Cevapla
  4  
Alt 30-10-2011, 14:36:02
 
Standart

Benim verdiğim kodları kullanarak deneyin bir de. Sadece sayfalama için değil, genel olarak birkaç gereksiz koddan da kurtulmuş olursunuz.
Bu mesajınızı beğenenler: LadyArch3r
__________________
Hakan Aktaş
Alıntı ile Cevapla
  5  
Alt 30-10-2011, 14:47:32
 
Standart

Alıntı:
Hkan Nickli Üyeden Alıntı Mesajı göster
Benim verdiğim kodları kullanarak deneyin bir de. Sadece sayfalama için değil, genel olarak birkaç gereksiz koddan da kurtulmuş olursunuz.
Sağolun deneyeceğim.
Alıntı ile Cevapla
  6  
Alt 30-10-2011, 14:47:42
 
Standart

sayfa başındaki bu kodları

PHP- Kodu:
<?php
$cekcek 
mysql_query("SELECT * FROM iletisim ORDER BY iletisim_id DESC");
while (
$listeci mysql_fetch_array($cekcek)){

$veri_adsoyad  =   $listeci['adsoyad'];
$veri_eposta   =   $listeci['eposta'];
$veri_telefon  =   $listeci['telefon'];
$veri_mesaj    =   $listeci['mesaj'];
$veri_ip       =   $listeci['ip'];
$veri_tarih    =   $listeci['tarih'];
$veri_id       =   $listeci['iletisim_id'];

    
?>
birde sayfa sonundaki şu kodları kaldırın.

PHP- Kodu:
 <?php ?>
__________________
oops
Alıntı ile Cevapla
  7  
Alt 31-10-2011, 00:04:46
 
Standart

Hkan çok teşekkür ederim sayfalama oldu.Fakat bir sorunum var sayfa numaralarını görselleştirmem lazım.

PHP- Kodu:
<div class="pagination">
        <
span class="disabled"><< geri</span><span class="current">1</span><a href="">2</a><a href="">3</a><a href="">4</a><a href="">5</a><a href="">10</a><a href="">11</a><a href="">12</a>...<a href="">100</a><a href="">101</a><a href="">ileri >></a>
        </
div
Numaraların html kısmı bu

PHP- Kodu:

// Sayfaları yazdırıyoruz 
for ($i 1$i <= $sayfasayisi; ++$i

   if (
$i == $sayfa
      echo 
'<b>['$i']</b>'
   else 
      echo 
'<a href="?sayfa='$i'">'$i'</a>'

Denememe rağmen olmadı yardımcı olursan sevinirim.

Edit sorun çözülmüştür.

Konu LadyArch3r tarafından (31-10-2011 Saat 00:37:38 ) değiştirilmiştir..
Alıntı ile Cevapla
  8  
Alt 31-10-2011, 19:15:18
 
Standart

Bunun için Codeigniter'ın Pagination sınıfını alıp kendime göre düzenlemiştim. İsterseniz paylaşabilirim. Oldukça şık bir görünümü var.

Örneğin 20 sayfalı bi olayın (veya modülün, konunun vs. nasıl isimlendireceğimi bilemedim ) 10. sayfasındayken size şöyle bir çıktı veriyor:

1 2 3 ... 9 [10] 11 ... 18 19 20
__________________
Hakan Aktaş
Alıntı ile Cevapla
  9  
Alt 31-10-2011, 19:51:24
 
Standart

Paylaşırsanız sevinirim çünkü basit sayfalama da 1-2-3-4-5-6.... diye gidecek ve bir dakikadan sonra görünümü bozacak.
Alıntı ile Cevapla
  10  
Alt 31-10-2011, 22:15:02
 
Standart

Konusunu açtım. Buradan ulaşabilirsiniz.
__________________
Hakan Aktaş
Alıntı ile Cevapla
Cevapla


Bookmarks

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Açık



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:12:21.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

Hosting by Radore Hosting

İçerik sağlayacı paylaşım sitelerinden biri olan R10.net WebMaster Forum Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. R10.net hakkında yapılacak tüm hukuksal Şikayetler adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde R10.net yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatlarımız size dönüş yapacaktır.
ARGUS_OK

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252