Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
5
Cevap
490
Tıklama
0
Öne Çıkarma
php ile kayıtları sayfalandırma ?
S
20 yıl
Yüzbaşı
Konu Sahibi

arkadaşlar günaydın ,

-php ile mysql veritabanından sql ile koşula uyan satırları çekiyorum.
-her sayfada önceden belirlenmiş sayıda kayıt gösterilmesini sağlamak için
toplam kayıt sayısını , bu değere bölüyorum ve sayfa sayısını buluyorum.

-sayfanın alt kısmında sayfa numaralarını yazdırıyorum
-bu sayfa numaralarına tıklayınca ilgili sayfaya denk gelen kayıtları nasıl gösterebilirim.

-ilk sayfa için her şey yolunda while do arasında bir değişkenle yazdırılan kayıt sayısını takip ediyorum sınıra ulaşınca ekrana yazdırmayı durduruyorum ama diğer sayfalar için sayfa numarasına nasıl bir <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=3491906&url=???" data-href="???">5</a> link vermeliyim?

iyi günler...

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



C
20 yıl
Yüzbaşı

bunu söylemek için yazdığın kodları görmek lazım mesela sayfaları sıralarken sayfa değişkeni mi kullanıyosun ?. örn:
href='$sayfa+1' gibi . kodları yazarsan yardımcı olmaya çalışırız.
iyi çalışmalar.


Bu mesaja 1 cevap geldi.
S
20 yıl
Yüzbaşı
Konu Sahibi

aşağıdaki kodlara istediğim işlemi yaptım.

ilgine teşekkürler , iyi çalışmalar ...

Kısa ve basit bir şekilde mysql deki verileri sayfalara bölerek listeleyen program parçası...
 
<?
$kacar=5; #Veriler sayfada kacar kacar listelenecek

# $kacar degiskenini ayarlanmamışsa veya yanlislikla 0
# yapılmışsa scriptin hata vermemesi icin degiskene 5 atıyoruz.

if(!$kacar OR $kacar<=0)
{
$kacar=5;
}
# Hangi sayfadaki kayitlarin listelenecegi belirtilmemisse,
# $sayfa adli degiskene 0 degerini atiyoruz, boylece ilk sayfa acilir.
if(!$HTTP_GET_VARS['sayfa'] OR $HTTP_GET_VARS['sayfa'] < 0 )
{
$sayfa=0;
}
#bağlantıyı ve veritabanı seçimini yapıyoruz
mysql_connect('localhost',",") or die('Bağlanamadım');
mysql_select_db('test') or die('veri tabanını seçemedim');
#sql sorgusunu oluşturuyoruz.
$sorgu1='select * from linkler limit '.$sayfa * $kacar.','.$kacar;
#sql sorgusunu mysql'in anlayacağı hale getiriyoruz.
$kayitlar=mysql_query($sorgu1);
#mysql_fetch_row'la verilerimizi listeliyoruz.
while($listele=mysql_fetch_row($kayitlar))
{
echo $listele[0].'<br>'; #Kayitlari yazdiriyoruz.
}
#Kac kayit sectigimizi buluyoruz.
$kacsecili=mysql_num_rows($kayitlar);
#örnek linkler tablosundan her seferinde 5 kayıt seçiliyor
if($kacsecili>0)
{
$sorgu2='select count(*) from linkler';
$sorguSonuc=mysql_query($sorgu2);
$toplam=mysql_fetch_row($sorguSonuc); #Tablodaki toplam kayit sayisini buluyoruz. 19
}

$kacsayfa=ceil($toplam[0]/$kacar); #Tum kayitlarin toplam kac sayfada listelenecegini hesapliyoruz.
$kactan=$sayfa*$kacar;
$nerden=$kactan+1;
$kaca=$nerden+$kacsecili-1;

#Ilk sayfada degilsek bir onceki sayfaya gitmek icin
#Geri linkini yazdiriyoruz.
if($sayfa>0)
{
echo ' <a href='.$PHP_SELF.'?sayfa='.($sayfa-1).'>Back</a> ';
}

#Sayfalama numaralarini yaziyoruz.1 2 3 4 5 ... gibi
for( $i=0 ; $i < $kacsayfa ; $i++ )
{
if( $sayfa == $i )
{
echo ($i+1); # üzerinde bulunduğumuz sayfa numarasını link vermeden yazıyoruz.
}
else
{
echo '<a href='.$PHP_SELF.'?sayfa='.$i.'>'.($i+1).'</a>'; #diğerlerine link veriyoruz.
}
}
#Son sayfada degilsek ve birden fazla sayfa varsa,
#bir sonraki sayfaya gitmek icin Ileri linkini yazdiriyoruz.
if($kacsayfa>($sayfa+1))
{
echo' <a href='.$PHP_SELF.'?sayfa='.($sayfa+1).'>Next</a> ';
}
print '<br><br>'.$nerden.' - '.$kaca.' arası kayıtlar listelendi.';
?>





< Bu mesaj bu kişi tarafından değiştirildi sherlockholmes_1980 -- 21 Temmuz 2005, 17:20:37 >
Bu mesaja 1 cevap geldi.
G
20 yıl
Yarbay

zannediyorum bunu arıyorsun:http://forum.donanimhaber.com/m_1556233/tm.htm

edit: konunun başlığı alakasız gibi görünebilir lakin aynı olay. okuyalım lütfen...





< Bu mesaj bu kişi tarafından değiştirildi Guest -- 22 Temmuz 2005, 3:52:14 >
Bu mesaja @cera cevap verdi.
C
20 yıl
Yüzbaşı

<?
$server="localhost";
$mysqluser="";
$mysqlpass="";
$database="musa";
$dbtablo="";
$limit=5;
if(!$limit OR $limit<=0){$limit=5;}
if(!$HTTP_GET_VARS[sayfa]){$sayfa=0;}

if($HTTP_GET_VARS[sayfa]<0){$sayfa=0;}

@mysql_connect($server,$mysqluser,$mysqlpass);
@mysql_select_db($database);
$carp=($sayfa*$limit);
$kayitlar=mysql_query("SELECT * FROM $dbtablo LIMIT $carp,$limit ");

$kacsecili=mysql_num_rows($kayitlar);

if($kacsecili>0){$toplam=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $dbtablo"));}

while($listele=mysql_fetch_array($kayitlar)){
#mesajları listeliyoruz (yazdırıyoruz)
echo "
#################################
/* burada tablo lara göre mesajları çekebilirsin. */
################################
<span class=sari> $listele[adsoyad]</span><br>
<span class=duzgri>$listele[mesaj]<br></span>
<span class=tarih> [ $listele[tarih] ]</span><br><br>
" ;}
$kacsayfa=ceil($toplam[0]/$limit);
$toplamk=mysql_query("SELECT * FROM $dbtablo ");
$toplamkayit=mysql_num_rows($toplamk);
echo "<span class=tarih>Toplam $toplamkayit mesaj , $kacsayfa sayfada yayınlanıyor.</span><br><br>";
if($sayfa>0){echo'<a href='.$PHP_SELF.'?sayfa='.($sayfa-1).'>Geri</a> | ';}
#sayfa linklerini yazdırıyoruz.
for($i=0;$i<$kacsayfa;$i++){if($sayfa==$i){echo ($i+1).' ';}
else{echo' <span class=sirala><a href='.$PHP_SELF.'?sayfa='.$i.'>'.($i+1).'</a></span> ';}}
if($kacsayfa>($sayfa+1)){echo'| <a href='.$PHP_SELF.'?sayfa='.($sayfa+1).'>Ileri</a>';}

?>
bu şekilde kullanabilirsin.
iyi çalışmalar.


Bu mesaja 1 cevap geldi.
S
20 yıl
Yüzbaşı
Konu Sahibi

arkadaşlar ilginize teşekkür eder , iyi çalışmaar dilerim ...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.