lostyazilim
tr.link

PHP Sayfalama İçin Yardım

4 Mesajlar 1.406 Okunma
acebozum
tr.link

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)
Merhaba arkadaşlar kendi yaptığım blog scriptinde çoğu şeyi yaptım ancak bir tek sayfalama kaldı. Tema olarak Nurçin'nin yaptığı Rengo temasını kullanacağım sade olduğu için. Aşağıdaki kodlar tema index.php'den while döngüsü içindeki kodlar. Her sayfada 5 yazı göstermek istiyorum.





Aşağıdaki kodlar ise ayar sayfasıdır. Acaba ben sayfalama işini nasıl yapabilirim?
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$colname_blog = "-1";
if (isset($_GET['id'])) {
$colname_blog = $_GET['id'];
}
mysql_select_db($database_ok_kisisel, $ok_kisisel);


$query_blogum = "SELECT * FROM blogum ORDER BY id DESC";
$blogum = mysql_query($query_blogum, $ok_kisisel) or die(mysql_error());
$row_blogum = mysql_fetch_assoc($blogum);
$totalRows_blogum = mysql_num_rows($blogum);

$query_blog = sprintf("SELECT * FROM blogum WHERE id = %s", GetSQLValueString($colname_blog, "int"));
$blog = mysql_query($query_blog, $ok_kisisel) or die(mysql_error());
$row_blog = mysql_fetch_assoc($blog);
$totalRows_blog = mysql_num_rows($blog);

?>


 

 

wmaraci
reklam

sametweb sametweb WM Aracı Kullanıcı
  • Üyelik 29.08.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek software developer
  • Konum ABD
  • Ad Soyad S** M**
  • Mesajlar 615
  • Beğeniler 52 / 196
  • Ticaret 1, (%100)
Sözlü anlatacağım yazmaya vaktim yok.

Eğer $_GET['page'] boş ise, 1 kabul edeceksin. SQL döngünde LIMIT $page, 5 yapacaksın. Altta kaç tane sayfa olduğunu hesaplamak için de, toplam SQL'deki veri sayısını bulup 5'e böleceksin, yukarı yuvarlayacaksın (ceil fonksiyonuydu sanırım) Sonra $_GET['page'] 'den ne geliyorsa, ona göre içeriğin listelenecek.

Yazıp vermek isterdim ama müsait değilim kusura bakmayın.
 

 

React Dersleri YouTube Kanalı
https://www.youtube.com/c/reactdersleri

LadyArch3r LadyArch3r Web Developer Kullanıcı
  • Üyelik 02.04.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Developer
  • Konum Antalya
  • Ad Soyad B** K**
  • Mesajlar 930
  • Beğeniler 60 / 102
  • Ticaret 3, (%100)
$say = intval($_GET['say']);
if(!$say) $say = 1;
$toplam = mysql_num_rows(mysql_query("select * from urunler"));
$limit = 10; // Sayfa Başına Gösterilcek Sorgu Sayısı
$goster = $say * $limit - $limit;
$query = mysql_query("select * from urunler ORDER BY urun_id DESC LIMIT $goster,$limit");
$saydir = mysql_num_rows($query);
if($saydir > 0) {
while($row = mysql_fetch_array($query)) {
?>

















echo "
";
$sayfa_sayisi = ceil($toplam/$limit);
$forlimit = 3; // Sağ ve Sol Taraftaki Gösterilcek Rakam Sayısı örnek ilk önceki 123 sonraki son
if($say > 1) {
$onceki = $say -1;
echo 'İlk';
echo 'Önceki';

}

for($i = $say - $forlimit; $i < $say + $forlimit +1; $i++){

if($i > 0 && $i <= $sayfa_sayisi) {

if($i == $say) {

echo ''.$i.'';
}else {

echo ''.$i.'';

}

}

}

if($say != $sayfa_sayisi){

echo 'Sonraki';
echo 'Son';

}

echo "
";
}else{

echo '

Kayıt bulunmamaktadır.5 saniye içinde yönlendiriliyorsunuz...
close

';
header( "refresh:5;url=index.php?sayfa=urunekle" );
}
?>


Ek Olarak:
 

 

4531 4531 WM Aracı Anonim Üyelik
  • Üyelik 13.03.2012
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 996
  • Beğeniler 210 / 211
  • Ticaret 3, (%100)

LadyArch3r adlı üyeden alıntı

$say = intval($_GET['say']);
if(!$say) $say = 1;
$toplam = mysql_num_rows(mysql_query("select * from urunler"));
$limit = 10; // Sayfa Başına Gösterilcek Sorgu Sayısı
$goster = $say * $limit - $limit;
$query = mysql_query("select * from urunler ORDER BY urun_id DESC LIMIT $goster,$limit");
$saydir = mysql_num_rows($query);
if($saydir > 0) {
while($row = mysql_fetch_array($query)) {
?>

















echo "
";
$sayfa_sayisi = ceil($toplam/$limit);
$forlimit = 3; // Sağ ve Sol Taraftaki Gösterilcek Rakam Sayısı örnek ilk önceki 123 sonraki son
if($say > 1) {
$onceki = $say -1;
echo 'İlk';
echo 'Önceki';

}

for($i = $say - $forlimit; $i < $say + $forlimit +1; $i++){

if($i > 0 && $i <= $sayfa_sayisi) {

if($i == $say) {

echo ''.$i.'';
}else {

echo ''.$i.'';

}

}

}

if($say != $sayfa_sayisi){

echo 'Sonraki';
echo 'Son';

}

echo "
";
}else{

echo '

Kayıt bulunmamaktadır.5 saniye içinde yönlendiriliyorsunuz...
close

';
header( "refresh:5;url=index.php?sayfa=urunekle" );
}
?>


Çok teşekkürler hocam ancak 1 ay araştırmama yapamadığım şeyi bugün başka bir sitede buldum ve 10 dk'da yaptım. Fakat bu kodlarıda arşivliyorum hocam.
Benim kodlarım ise

$gosterim=4;
//gösterilecek sayfa numarasýný alma
$sayfa=@$_GET['s'];
//sayfa numarasý kontrolü
if(empty($sayfa) || !is_numeric($sayfa)){$sayfa=1;}

//toplam kayýt sayýsýný alma
$k_sayisi=mysql_num_rows(mysql_query("Select id From blogum"));
//kaç sayfa olacaðýný bulma
$s_sayisi=ceil($k_sayisi/$gosterim);
//hangi kayýttan itibaren gösterileceðini bulma
$ilk_kayit=($sayfa*$gosterim)-$gosterim;

//kayýtlarý listeleme iþlemi
$al=mysql_query("Select id, baslik, icerik, resim From blogum Order By id Desc Limit $ilk_kayit,$gosterim");
while($yazdir=mysql_fetch_array($al)){
//deðerleri deðiþken yapma
extract($yazdir);
echo "

$baslik



";
echo kisalt($row_blogum['icerik'],650, true);
echo "

Devamını göreyim »


";

}

//ilk sayfaya gitme baðlantýsý
if($sayfa!=1){
echo "";
echo " ";
}

//diðer sayfalara geçiþ baðlantýsý koyma
for($i=1;$i<=$s_sayisi;$i++){
echo "";
echo " ";
}

if($sayfa!=$s_sayisi){
echo "";
echo " ";
}

?>
 

 

wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al