lostyazilim
tr.link

php dizilerde sayfalama

40 Mesajlar 5.862 Okunma
acebozum
tr.link

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
ikodev Üstadım benim şu an için ihtiyaç duyduğum bir kod olmadığı için işmi gördü yada görmedi demem doğru olmaz.
Sadece işin anlama ve öğrenme tarafındayım nu mevzuda... :)

Açıklamanız için teşekkür ederim ayrıca.

Fakat tam çözemedim şu an için.

Daha sade bir yöntem yok mu mevcutta üstad? :)
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
wmaraci
reklam

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

melihonline adlı üyeden alıntı

Sayfa altında sıra numaralarını nasıl yapacağız? Mesela 10 ar 10 ar listelensin diyelim. 100 tane de verimiz olsun. 10 sayfa yapar. Göstergesi de,

Geri - 1 - 2 - 3 - İleri

Bu şekil hale nasıl getireceğiz?


Sayfa numaraları haricinde olay tamam yanlış anlamadıysam, mümkünse sayfalamanın gerçekleştiği kodları paylaşabilir misiniz...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)
Ya muhtemelen daha kolay yolu vardır ama ofisteyim şimdi kafa yanıyor çıtırından :)

Ben sayfalama ve listeleme yaptım senin için;

$diziler = array(
"sayfa1" => array(
"sayfaAdi" => "Sayfa 1",
"sayfaİcerik" => "1. Sayfanın içeriği"
),
"sayfa2" => array(
"sayfaAdi" => "Sayfa 2",
"sayfaİcerik" => "2. Sayfanın içeriği"
),
"sayfa3" => array(
"sayfaAdi" => "Sayfa 3",
"sayfaİcerik" => "3. Sayfanın içeriği"
),
"sayfa4" => array(
"sayfaAdi" => "Sayfa 4",
"sayfaİcerik" => "4. Sayfanın içeriği"
),
"sayfa5" => array(
"sayfaAdi" => "Sayfa 5",
"sayfaİcerik" => "5. Sayfanın içeriği"
)
);

$mevcutSayfa = (isset($_GET["sayfa"])) ? $_GET["sayfa"] : 0;
$gosterilecekToplamVeri = 2;
$toplamSayfa = ceil(count($diziler) / $gosterilecekToplamVeri);
for( $i = 1; $i <= $toplamSayfa; $i++ )
{
?>

}

echo "
";
$sira = ($mevcutSayfa-1) * $gosterilecekToplamVeri;
$siradaki2li = $sira+$gosterilecekToplamVeri;
for( $veri = $sira; $veri < $siradaki2li; $veri++ )
{
echo @$diziler["sayfa".($veri+1)]["sayfaAdi"];
echo "
";
}
?>


Burada mesela varolan bir diziye sıralama yaptık, sen her foreachda onun idsini "tagını alarak" farklı sayfa da ilk verdiğim örnekte ki gibi içeriğinede ulaşabilirsin
BEYAZMASTER

kişi bu mesajı beğendi.

ikodev ikodev Developer Kullanıcı
  • Üyelik 08.05.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Developer
  • Konum Samsun
  • Ad Soyad İ** Ş**
  • Mesajlar 1020
  • Beğeniler 321 / 320
  • Ticaret 19, (%100)

BEYAZMASTER adlı üyeden alıntı

ikodev Üstadım benim şu an için ihtiyaç duyduğum bir kod olmadığı için işmi gördü yada görmedi demem doğru olmaz.
Sadece işin anlama ve öğrenme tarafındayım nu mevzuda... :)

Açıklamanız için teşekkür ederim ayrıca.

Fakat tam çözemedim şu an için.

Verilerin nereye yazıldığını da hala anlayamadım;

"1. Sayfa, Açıklama metni vsvs" => bu tırnak içine mi yazılıyor?

Daha sade bir yöntem yok mu mevcutta üstad? :)


Son attığım örnekte daha açıklayıcı olmuştur hocam dizi içerisinde dizi kullanarak 1 veriye ait birden fazla bilgi girip bunları kullanabiliyosunuz
BEYAZMASTER

kişi bu mesajı beğendi.

wmaraci
wmaraci

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
melihonline datatable demiştim veritabanı uymuyor demişisn hocam. Datatable ile veritabanının bi alakası yok ki. Json ile gelen veri ile de datatable kullanabilirsin.
 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
ikodev Üstadım emeğinize sağlık... Güzel kod... Gelişme amaçlı bu kod üzerinde çalışacağım.

Çok teşekkür ederim...

(Bu arada bir özeleştiri yapayım;
Son sorduğum sorunun çok yerinde olmadığını farkettim;
Konunun, "veri tabanı olmaksızın içerikleri sayfalamak" olduğunu bir an için unutup "echo" aradı sanırım gözlerim.)

Eğer vaktiniz olursa yeni açtığım ve takıldığım bir konu var (js), ona bir göz atabilirseniz makbule geçer.

Kolaylıklar dilerim...
ikodev

kişi bu mesajı beğendi.

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

melihonline melihonline WM Aracı Kullanıcı
  • Üyelik 24.11.2018
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Teknikeri
  • Konum Antalya
  • Ad Soyad M** K**
  • Mesajlar 91
  • Beğeniler 8 / 7
  • Ticaret 0, (%0)
Kusura bakmayın daha yeni yeni öğreniyorum php dilini. Ben bu kodları diziye uyarlayamadım gitti. Dizinin içinde de diziler olduğu için işin içinden çıkamadım bir türlü. Mesela aşağıdaki şekilde verilerim var bir sürü. Örnek olarak 2 veri ekledim. Bu şekil diziyi mesela 1 numaralı sayfaya tıkladığımızda [0] olan içerik gelsin. 2 numaralı sayfada [1] olan içerik gelsin.


[0] => Array
(
[adi] => Melih
[resmi] => /dsfdsdsgdsg.jpg
[ilgialanlari] => Array
(
[0] => futbol
[1] => basketbol
)

[id] => 240
[dili] => en
[lakabi] => Çapkın
[meslegi] => Tekniker
)

[1] => Array
(
[adi] => Kaya
[resmi] => /trwywyewy.jpg
[ilgialanlari] => Array
(
[0] => tenis
[1] => oyun
)

[id] => 240
[dili] => es
[lakabi] => Zehir
[meslegi] => Öğretmen
)


ikodev adlı üyeden alıntı

Ya muhtemelen daha kolay yolu vardır ama ofisteyim şimdi kafa yanıyor çıtırından :)

Ben sayfalama ve listeleme yaptım senin için;

$diziler = array(
"sayfa1" => array(
"sayfaAdi" => "Sayfa 1",
"sayfaİcerik" => "1. Sayfanın içeriği"
),
"sayfa2" => array(
"sayfaAdi" => "Sayfa 2",
"sayfaİcerik" => "2. Sayfanın içeriği"
),
"sayfa3" => array(
"sayfaAdi" => "Sayfa 3",
"sayfaİcerik" => "3. Sayfanın içeriği"
),
"sayfa4" => array(
"sayfaAdi" => "Sayfa 4",
"sayfaİcerik" => "4. Sayfanın içeriği"
),
"sayfa5" => array(
"sayfaAdi" => "Sayfa 5",
"sayfaİcerik" => "5. Sayfanın içeriği"
)
);

$mevcutSayfa = (isset($_GET["sayfa"])) ? $_GET["sayfa"] : 0;
$gosterilecekToplamVeri = 2;
$toplamSayfa = ceil(count($diziler) / $gosterilecekToplamVeri);
for( $i = 1; $i <= $toplamSayfa; $i++ )
{
?>

}

echo "
";
$sira = ($mevcutSayfa-1) * $gosterilecekToplamVeri;
$siradaki2li = $sira+$gosterilecekToplamVeri;
for( $veri = $sira; $veri < $siradaki2li; $veri++ )
{
echo @$diziler["sayfa".($veri+1)]["sayfaAdi"];
echo "
";
}
?>


Burada mesela varolan bir diziye sıralama yaptık, sen her foreachda onun idsini "tagını alarak" farklı sayfa da ilk verdiğim örnekte ki gibi içeriğinede ulaşabilirsin
 

 

melihonline melihonline WM Aracı Kullanıcı
  • Üyelik 24.11.2018
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Teknikeri
  • Konum Antalya
  • Ad Soyad M** K**
  • Mesajlar 91
  • Beğeniler 8 / 7
  • Ticaret 0, (%0)
datatable hakkında hiç bilgim yok hocam. Onunla daha mı kolay yapabiliriz istediğim sayfalama işini? Json ile gelen veriyi kısaca nasıl alabiliriz datatable ile örnek verebilir misiniz hocam? Veya türkçe bilgi olarak açıklayan yer varsa oranın linkini de alabilirim.

ÖmerGünay adlı üyeden alıntı

melihonline datatable demiştim veritabanı uymuyor demişisn hocam. Datatable ile veritabanının bi alakası yok ki. Json ile gelen veri ile de datatable kullanabilirsin.
 

 

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
Siz benim yukarıdaki soruma ve ricama karşılık vermediniz!
Lakin "gene de destek ol" diyen iç sesime kulak vereceğim bu seferlik!

Datatable içindeki verileri otomatik sıralayan, sayfalayan, arama yapmayı sağlayan gelişmiş bir tablo çeşididir.
(html+js)

Daha kolay olacağı kesin.

Alltaki 2 linki inceleyebilirsiniz.
https://www.yazilimbilisim.net/javascript/jquery-datatable-kullanimi/
+
https://datatables.net/download/

ÖmerGünay adlı üyeden alıntı

Datatable ile veritabanının bi alakası yok ki. Json ile gelen veri ile de datatable kullanabilirsin.


Json dosyasından verileri o tabloya nasıl aktaracağınız konusuna @ÖmerGünay üstadımız daha vakıf, mesajınızı görünce yol gösterecektir...
melihonline

kişi bu mesajı beğendi.

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam sabah mesai olduğundan ve uyku öncesi gördüğümden mesajınızı kod örneği paylaşamayacğaım fakat pseudo bir örnek ile açıklayalım;

Umarım açıklayıcı olmuştur :)

int listelenecekAdet= 10; // Örnek 10 verdik dilerseniz bazı sitelerdeki gibi bu bilgiyi dropdowndan doldurarak 10, 20, 50 gibi çoklu kayıtları listeleme seçeneğini kullanıcıya sunabilirsiniz
int kayitSayisi = [dbdeki kayıt adedini çekiyoruz(SELECT Count(id) FROM tablom WHERE aktif_mi=1)]; //aktif filtresi sadece örnek olması açısından

if (isset($_GET['page']))
$MEV_SAYFA=($_GET['page']);
else
$MEV_SAYFA=1;
$limitBaslangic=abs(($MEV_SAYFA-1)*$listelenecekKayitAdedi ); //dbdeki kaçıncı kayıttan başlayacağımız

var sayfadaGosterilecekKayitlar = [dbde gosterilecek kayıtları çekiyoruz(SELECT kolon1, kolont2... FROM tablom ORDER BY kayitYaratmaTarihi DESC LIMIT $limitBaslangic, $listelenecekAdet //dbdeki başlangıç kayıdından sayfada listelenecek adet kadar kayit gostermeyi sağlar

while ($row=mysql_fetch_array($sayfadaGosterilecekKayitlar ))
$gelenVeriler[++$limitBaslangic]=$satir;

//hiç query string olmadan sayfa url'ini alalım
$uri=strtok($_SERVER['REQUEST_URI'],"?")."?";

//sayfadaki page query string olmadan diğer query stringlerin bulunduğu şekilde urlmizi oluşturalım
if (isset($_GET['page']))
unset($_GET['page']);
if (count($_GET)) {
foreach ($_GET as $k => $v) {
if ($k != "page")
$uri.=urlencode($k)."=".urlencode($v)."&";
}
}


//toplam kaç sayfa olacağını hesaplayıp bir arrayi page querystringli linklerimiz ile dolduralım
$sayfaAdedi=ceil($kayitSayisi /$listelenecekAdet);
for($i=1;$i<=$sayfaAdedi;$i++)
$Sayfalar[$i]=$uri.'page='.$i;

//aşağıdaki gibi basit bir şablon ile verilerimizi ve sayfa numaralarını ekrana basabilriz
?>
Toplam kayıt sayısı:


$satir): ?>
.





Sayfalar:
$link): ?>






 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al