wmaraci reklam
tr.link

Acil yardım lazım

5 Mesajlar 1.128 Okunma
acebozum
tr.link

fearmusa fearmusa Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 05.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek öğrenci
  • Konum Aksaray
  • Ad Soyad M** S**
  • Mesajlar 139
  • Beğeniler 3 / 11
  • Ticaret 0, (%0)
class pagination
{
var $pageNum = 1; // Current Page
var $perPage = 3; // Items on each page, defaulted to 10
var $showFirstAndLast = false; // if you would like the first and last page options.

function generate($array, $perPage = 3)
{
// Assign the items per page variable
if (!empty($perPage))
$this->perPage = $perPage;

// Assign the page variable
if (!empty($_GET['pageNum'])) {
$this->page = $_GET['pageNum']; // using the get method
} else {
$this->page = 1; // if we don't have a page number then assume we are on the first page
}

// Take the length of the array
$this->length = count($array);

// Get the number of pages
$this->pages = ceil($this->length / $this->perPage);

// Calculate the starting point
$this->start = ceil(($this->page - 1) * $this->perPage);

// Return the part of the array we have requested
return array_slice($array, $this->start, $this->perPage);
}

function links()
{
// Initiate the links array
$plinks = array();
$links = array();
$slinks = array();

// Concatenate the get variables to add to the page numbering string
if (count($_GET)) {
$queryURL = '';
foreach ($_GET as $key => $value) {
if ($key != 'pageNum') {
$queryURL .= '&'.$key.'='.$value;
}
}
}

// If we have more then one pages
if (($this->pages) > 1)
{
// Assign the 'previous page' link into the array if we are not on the first page
if ($this->page != 1) {
if ($this->showFirstAndLast) {
$plinks[] = ' «« ';
}
$plinks[] = ' « ';
}

// Assign all the page numbers & links to the array
for ($j = 1; $j < ($this->pages + 1); $j++) {
if ($this->page == $j) {
$queryURL = '';
$links[] = ' '.$j.' '; // If we are on the same page as the current item
} else {
$links[] = ' '.$j.' '; // add the link to the array
}
}

// Assign the 'next page' if we are not on the last page
if ($this->page < $this->pages) {
$slinks[] = ' » ';
if ($this->showFirstAndLast) {
$slinks[] = ' »» ';
}
}

// Push the array into a string using any some glue
return implode(' ', $plinks).implode(' ', $links).implode(' ', $slinks);
}
return;
}
}


bu sayfalama kodu fakat bu sayfalamayı yapıyor problem yok. problem


1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,.....30,31 gibi sıralıyor. yani bir sayfada çok ama çok fazla sayfa linki oluyor. 500 sayfalık yazı olsa 500 tane link olacak. ne olur şu kodu biri halledebilirmi ?


5,6,7,8,9,10,11 bulunduğu sayfa 8 olduğunu düşürsek 3 solda 3 sağda gibi. yani sayfalama kısmı bu. lütfen yardım edinde
 

 

googleasistan
reklam

  • Üyelik 18.01.2025
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar
  • Beğeniler /
  • Ticaret , (%)
Şu şekilde bir denermisin.

class pagination
{
var $pageNum = 1; // Current Page
var $perPage = 3; // Items on each page, defaulted to 10
var $showFirstAndLast = false; // if you would like the first and last page options.

function generate($array, $perPage = 3)
{
// Assign the items per page variable
if (!empty($perPage))
$this->perPage = $perPage;

// Assign the page variable
if (!empty($_GET['pageNum'])) {
$this->page = $_GET['pageNum']; // using the get method
} else {
$this->page = 1; // if we don't have a page number then assume we are on the first page
}

// Take the length of the array
$this->length = count($array);

// Get the number of pages
$this->pages = ceil($this->length / $this->perPage);

// Calculate the starting point
$this->start = ceil(($this->page - 1) * $this->perPage);

// Return the part of the array we have requested
return array_slice($array, $this->start, $this->perPage);
}

function links()
{
// Initiate the links array
$plinks = array();
$links = array();
$slinks = array();

// Concatenate the get variables to add to the page numbering string
if (count($_GET)) {
$queryURL = '';
foreach ($_GET as $key => $value) {
if ($key != 'pageNum') {
$queryURL .= '&'.$key.'='.$value;
}
}
}

// If we have more then one pages
if (($this->pages) > 1)
{
// Assign the 'previous page' link into the array if we are not on the first page
if ($this->page != 1) {
if ($this->showFirstAndLast) {
$plinks[] = ' «« ';
}
$plinks[] = ' « ';
}

// Assign all the page numbers & links to the array
$gorunecek = 3;
for ($j = $this->page - $gorunecek; $j < ($this->pages + 1); $j++) {
if ($this->page == $j) {
$queryURL = '';
$links[] = ' '.$j.' '; // If we are on the same page as the current item
} else {
$links[] = ' '.$j.' '; // add the link to the array
}
}

// Assign the 'next page' if we are not on the last page
if ($this->page < $this->pages) {
$slinks[] = ' » ';
if ($this->showFirstAndLast) {
$slinks[] = ' »» ';
}
}

// Push the array into a string using any some glue
return implode(' ', $plinks).implode(' ', $links).implode(' ', $slinks);
}
return;
}
}
 

 

fearmusa fearmusa Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 05.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek öğrenci
  • Konum Aksaray
  • Ad Soyad M** S**
  • Mesajlar 139
  • Beğeniler 3 / 11
  • Ticaret 0, (%0)
http://www.sorular.biz/yeni-sorular/ şuradan bakabilirsiniz hocam -1 le başlıyor bu seferde..

Ek Olarak: «-8-7-6-5-4-3-2-10123456789 » şöyle oluyor kısaca bastıkca geri gidiyor

Ek Olarak: http://fearmusa.96.lt/yeni-sorular/ denemelerimi burada yapıyorum hocam, buradan bakabilirsiniz.

Ek Olarak: for ($j = 1; $j < ($this->pages + 1); $j++) {
if ($this->page == $j) {
$queryURL = '';
$links[] = ' '.$j.' '; // If we are on the same page as the current item
} else {
$links[] = ' '.$j.' '; // add the link to the array
}
}
olay bu kodda bitiyor ama ne yapacam nasıl uyarlicam çözemedim
 

 

  • Üyelik 18.01.2025
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar
  • Beğeniler /
  • Ticaret , (%)
O kodu bide şu şekilde değiştirip dener misin


$gorunen = 3;
for ($j = $this->page - $gorunen; $j < ($this->page + $gorunen) + 1; $j++) {
if ($this->page == $j) {
$queryURL = '';
$links[] = ' '.$j.' '; // If we are on the same page as the current item
} else {
$links[] = ' '.$j.' '; // add the link to the array
}
}
 

 

wmaraci
wmaraci

fearmusa fearmusa Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 05.12.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek öğrenci
  • Konum Aksaray
  • Ad Soyad M** S**
  • Mesajlar 139
  • Beğeniler 3 / 11
  • Ticaret 0, (%0)
hocam görünüme http://fearmusa.96.lt/yeni-sorular/?pageNum=2 dan bakabilirsiniz, tek sayfa olarak oldu, bunu birde arttırabilirsiniz, deneme için yaptınız ama oldu gibi bu sefer.

Ek Olarak: Hocam bi el atin ya .s fazla sayfa gosteriyor .s
 

 

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