Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
491
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...



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.