PHP ile listeleme yapacağım aynı zamanda sayfalama yapacak kod lazım.
Örneğin veritabanında 100 satır var. Her bir sayfada 20 satır listeleyecek, ikinci sayfada 21. satırdan başlayacak ve sıra numarası da 21 yazacak.
Aşağıdaki kod ile istediğimi yaptırabiliyorum, ikinci sayfaya geçtiğimdede doğru veri çekiyor ancak sıra numarası ikinci sayfada da 1'den başlıyor. oysa 21'den başlaması gerekiyor. Son sayfayı açsam bile sıra numarası hep 1'den başlıyor. Umarım anlatabilmişimdir. Mümkünse bu kod üzerinde gerekli bir değişiklik, mümkün değilse çalışan bir kod vermenizi rica ediyorum.
Teşekkürler...
<?php
// VERİTABANI BİLGİLERİ
$dbhost = "localhost";
$dbuser = "****";
$dbpass = "***";
$dbname = "****";
//****************************************************************
// ########## MYSQL Bağlantı Ayarları ############################
$veri_yolu=mysql_connect("$dbhost","$dbuser","$dbpass") or die("<center><br>MySQL Bağlantı Hatası!</center>") ;
mysql_select_db("$dbname", $veri_yolu) or die ("<br><center>Veri Tabanı Bulunamıyor!</center>");
//****************************************************************
// sayfa değişkenine değer atatmamışsa 1'e eşitliyoruz
if(!isset($_GET['sayfa'])){
$sayfa = 1;
} else {
$sayfa = $_GET['sayfa'];
}
//****************************************************************
// sayfa başına kaç kayıt listelenecek
$kacar = 20;
//****************************************************************
// Geçerli sayfadan itibaren kaç kayıt kaldığını buluyoruz
$kactan = (($sayfa * $kacar) - $kacar);
//****************************************************************
// $kactan ve $kacar değişkenlerimizin aldığı değerlere göre bilgileri veritabanından alıyoruz
$sonuc = mysql_query("SELECT * FROM $wpdb->posts LIMIT $kactan, $kacar");
//****************************************************************
// Sayfa Başında Tablo Başlıklarını hazırlıyoruz
echo "<table align=\"center\" width=\"700\" border=\"1\" bordercolor=\"FFFFFF\" cellspacing=\"2\" cellpadding=\"2\"><tr bordercolor=\"6699FF\" bgcolor=\"6699FF\"><td width=\"60\" height=\"25\">Sıra No</td><td width=\"180\">Kullanıcı Adı</td><td width=\"180\">Adı</td><td width=\"180\">Soyadı</td></tr>";
//****************************************************************
$sirano = 1; // herkaydın sıra numarası için sırano değişkeni oluşturuyoruz
//****************************************************************
// Kayıtlarımızı ekranda gösteriyoruz
while ($sorgu_verisi = mysql_fetch_array($sonuc)) {
echo " <tr bordercolor=\"6699FF\"><td height=\"25\">$sirano</td><td>$sorgu_verisi[post_author]</td><td>$sorgu_verisi[post_title]</td><td>$sorgu_verisi[post_date]</td>";
$sirano++;
}
echo "</tr></table>";
//****************************************************************
// Toplam kayıt sayısını veritabanından alıyoruz
$toplam_kayit = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $wpdb->posts"),0);
//****************************************************************
// ceil() fonksiyonumuz ile toplam sayfa adedini buluyoruz
$toplam_sayfa = ceil($toplam_kayit / $kacar);
//****************************************************************
echo "<table width=\"700\" border=\"1\" bordercolor=\"FFFFFF\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\"><tr class=\"tablobaslik\" bordercolor=\"000000\">";
//****************************************************************
// Önceki Kayıtların Gösterileceği Linkimiz
echo "<td width=\"100\">";
if($sayfa > 1){
$prev = ($sayfa - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?sayfa=$prev\"> Önceki Sayfa</a>";}
else { echo "Önceki Sayfa";}
for($i = 1; $i <= $toplam_sayfa; $i++){
if(($sayfa) == $i){
echo "</td><td> Aktif Sayfa: ";
echo "<b> $i </b>";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?sayfa=$i\"></a> ";
}
echo "</td>";
}
// Sonraki Kayıtlarımızın Gösterileceği Linkimiz
echo "<td width=\"100\">";
if($sayfa < $toplam_sayfa){
$next = ($sayfa + 1);
echo "<a href=/author/Maria/?sayfa=$next> Sonraki Sayfa</a></td>";}
else { echo "Sonraki Sayfa";}
echo "</td>";
echo "<td>Toplam Kayıt : <b>$toplam_kayit</b> </td>";
echo "<td>Toplam Sayfa : <b>$toplam_sayfa </b></td>";
echo "</tr></table>";
?>
VEYA AŞAĞIDAKİ KOD ÜZERİNDE İLGİLİ DEĞİŞİKLİK YAPABİLEN ..
<?php
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
?>
<h4>All Poems by <?php echo $curauth->nickname; ?>:</h4>
<!-- The Loop -->
<ol>
<ol>
<?php query_posts($query_string.'&posts_per_page=25'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>">
<?php the_title(); ?></a>,
<?php the_time('d M Y'); ?>
</li>
<?php endwhile; else: ?>
<p><?php _e('No posts by this author.'); ?></p>
<?php endif; ?>
</ol></ol>
<!-- End Loop -->
<?php pagination($additional_loop->max_num_pages);?>