Giriş
Sayt bölmələri
Xəbərlər
Qonaq dəftəri
Forum
Bloqlar
Musiqi
Foto
Video
Yükləmələr
İcmalar
Lotereyalar
İstifadəçilər Onlayn oyunlar
Onlayn kinoteatr
Mağaza
Bu sayt kukilərdən istifadə edir. Onların istifadəsinə razılıq verirsinizmi?
Bəli, icazə verirəm.
Şərhlər 9
Əməliyyatlar
Xoşdur. Nəbilim mən axtarırdım, tapdım, dedim paylaşım (bilməyənlər üçün).
5 Okt 2021, 17:56
0
Əməliyyatlar
[c]# RAbbasoff ([time]04.10.2021 21:28[/time])
Təşəkkürlər :)[/c]Xoşdur :)
5 Okt 2021, 01:35
Təşəkkürlər :)[/c]Xoşdur :)
0
Əməliyyatlar
Təbriklər ! Yeni mövzu uğurla yaradıldı! Əgər mövzu Qaydalara uyğun olmazsa silinəcək. Mövzudan kənara çıxmayın, mövzuda başqasının fikirlərinə hörmətlə yanaşın, probleminiz varsa şəxsidə həll edin, mövzuda artıq post yazmayın. Qeyd ! Ailəsinə hörmət edən, qeyrəti olan söyüş söyməz,forum reklam etməz
5 Okt 2021, 00:48
0
Əməliyyatlar
Salam, özümündə uzun zamandır axtardığım və məntiqini anlaya bilmədiyim...
[1] 2 3 ... 149 150 [irəli]
Bu növ səhifələm kodunu tapdım (Türklər paylaşıb)
[code=php]<?php
error_reporting(0);
$host = 'localhost'; //host bilgisi
$user = 'root'; //kullanıcı adı
$pass = ''; //sifre
$db= 'test'; //veritabanı ismi
$baglan = mysqli_connect($host, $user, $pass, $db) or die (mysqli_Error());
mysqli_query($baglan,"SET CHARACTER SET 'utf8'");
mysqli_query($baglan,"SET NAMES 'utf8'");
$sayfa = $_GET['sayfa'] ? $_GET['sayfa'] : 1; //urlden gelen sayfa değeri var ise o değeri, yok ise 1 değeri veriyoruz.
$toplam_icerik_sayisi = mysqli_num_rows(mysqli_query($baglan,'SELECT id FROM sekil'));
$limit = 4; //sayfalamada her sayfada gösterilecek veri sayısı
$sonSayfa = ceil($toplam_icerik_sayisi/$limit);//içerik sayısı ile limit değeri bölünüyor ve çıkan değer yuvarlanıyor. böylece sayfa sayısı diğer bir ifadeyse sonm sayfa değeri bulunuyor
//mesela 22 veri var. biz 4 er 4er listeliyoruz. 22 veriyi 6 sayfada gösterebiliriz.
//22/4 = 5.5 sonucunu yukarı yuvarlayıp sayfa sayısını buluyoruz.
$baslangic = ($sayfa-1)*$limit;
/*
mesela ilk sayfa 1. sayfa gösterilecek ise 1-1 = 0 - 0*4=0, veritabanından 0.veriden itibaren veriler getirilmeye başlansın
2. sayfa gösterilecek ise 2-1 = 1 - 1*4=4, veritabanından 4. veriden itibaren veriler getirilmeye başlansın
*/
if($sonSayfa >= $sayfa){
$icerik_sorgu = mysqli_query($baglan,'SELECT * FROM sekil LIMIT '.$baslangic.','.$limit); //başlangıç değerinden itibaren kaç tane veri getirilecek ise veritabanından LIMIT komutu ile verileri çekiyoruz
echo '<h1>Sayfalama İçerikler Örneği </h1>';
while ($icerik = mysqli_fetch_assoc($icerik_sorgu)){ //çekilen veriler içerisinde dönüyoruz, teker teker veriyi $icerik değişkenine aktarıyoruz
echo '<strong>',$icerik['link'],$icerik['id'],'</strong><br><hr>'; //ve veri değerlerini yazdırıyoruz
}
/*sayfalama buton kodları*/
if($toplam_icerik_sayisi > $limit){//içerik sayısı, her sayfada gösterilecek içerik sayısından büyük ise sayfalama butonları aktif edilsin
echo '<br><br>';
/*
$x = 2 olduğu durumda, aktif sayfanın önceki ve sonraki 2 sayfa gösterilir, sonrasına ... ifadesi konularak kısaltma yapılır.
böylelikle bütün sayfaları yazmamıza gerek kalmaz.
örnekler:
« Önceki 1...4 5 [6] 7 8...11 Sonraki » || [1] 2 3...11 Sonraki » || « Önceki 1...9 10 [11]
*/
$x = 2; //kısaltma limiti
if($sayfa > 1){//sayfa 1 den küçük ise [Önceki] butonu oluşturulmaya uygundur
$onceki = $sayfa-1;//aktif sayfanın bir önceki sayfa bulunur
echo '<a href="?sayfa='.$onceki.'">« Önceki </a>'; //link içerisine yazdırılıp [Önceki] butonu oluşturulur
}
if($sayfa==1){ //sayfalamada 1. sayfada bulunuyorsak
echo '<a>[1]</a>'; //1. sayfayı menüde aktif olarak gösteriyoruz
}
else{ // bulunmuyorsak
echo '<a href="?sayfa=1">1</a>'; //normal olarak gözüksün, aktif olmasın
}
//menü kısaltma işlemi
//bulunduğumuz sayfa yani $sayfa = 6 olduğu durumda
if($sayfa-$x > 2){ //6-2 > 2 değeri true döndürecek
echo '...'; //kısaltma etiketi yazdırılacak
$i = $sayfa-$x; //$i değişkenine 4 değeri atanacak
}else {
$i = 2;
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ...
for($i; $i<=$sayfa+$x; $i++) { //$i yani 4 değeri 8 değerine ulaşasıya kadar döngü çalışsın> 4 5 6 7 8
if($i==$sayfa){ //$i değeri bulunduğumuz sayfa ile eşitse
echo ' <a>['.$i.']</a> '; // aktif olarak işaretlensin ve yazdırılsın > 4 5 [6] 7 8
}
else{//değil ise
echo '<a href="?sayfa='.$i.'">'.$i.'</a>'; //normal olarak yazdırılsın
}
if($i==$sonSayfa) break;
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ... 4 5 [6] 7 8
if($sayfa+$x < $sonSayfa-1) { //6+2<11-1 ise
echo '...'; //kısaltma etiketi yazdırılacak
echo '<a href="?sayfa='.$sonSayfa.'">'.$sonSayfa.'</a>'; //son sayfa yazdırılacak
}elseif($sayfa+$x == $sonSayfa-1) {
echo '<a href="?sayfa='.$sonSayfa.'">'.$sonSayfa.'</a>';
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ... 4 5 [6] 7 8 ... 11
//menü kısaltma işlemi
if($sayfa < $sonSayfa){//bulunduğumuz sayfa hala son sayfa değil ise
$sonraki = $sayfa+1; //bulundğumuz sayfa değeri 1 arttırılıyor
echo '<a href="?sayfa='.$sonraki.'"> Sonraki » </a>'; //ve Sonraki butonu oluşturulup yazdırılıyor
}
}
}
/*sayfalama buton kodları*/
?>[/code]
Mənfi cəhəti budur ki, PDO ilə deyil MySQLi ilə hazırlanıb. Amma kodlardan məntiqi anlayaraq PDO ilə hazırlaya bilərsiniz özünüz. :)
5 Okt 2021, 00:48
[1] 2 3 ... 149 150 [irəli]
Bu növ səhifələm kodunu tapdım (Türklər paylaşıb)
[code=php]<?php
error_reporting(0);
$host = 'localhost'; //host bilgisi
$user = 'root'; //kullanıcı adı
$pass = ''; //sifre
$db= 'test'; //veritabanı ismi
$baglan = mysqli_connect($host, $user, $pass, $db) or die (mysqli_Error());
mysqli_query($baglan,"SET CHARACTER SET 'utf8'");
mysqli_query($baglan,"SET NAMES 'utf8'");
$sayfa = $_GET['sayfa'] ? $_GET['sayfa'] : 1; //urlden gelen sayfa değeri var ise o değeri, yok ise 1 değeri veriyoruz.
$toplam_icerik_sayisi = mysqli_num_rows(mysqli_query($baglan,'SELECT id FROM sekil'));
$limit = 4; //sayfalamada her sayfada gösterilecek veri sayısı
$sonSayfa = ceil($toplam_icerik_sayisi/$limit);//içerik sayısı ile limit değeri bölünüyor ve çıkan değer yuvarlanıyor. böylece sayfa sayısı diğer bir ifadeyse sonm sayfa değeri bulunuyor
//mesela 22 veri var. biz 4 er 4er listeliyoruz. 22 veriyi 6 sayfada gösterebiliriz.
//22/4 = 5.5 sonucunu yukarı yuvarlayıp sayfa sayısını buluyoruz.
$baslangic = ($sayfa-1)*$limit;
/*
mesela ilk sayfa 1. sayfa gösterilecek ise 1-1 = 0 - 0*4=0, veritabanından 0.veriden itibaren veriler getirilmeye başlansın
2. sayfa gösterilecek ise 2-1 = 1 - 1*4=4, veritabanından 4. veriden itibaren veriler getirilmeye başlansın
*/
if($sonSayfa >= $sayfa){
$icerik_sorgu = mysqli_query($baglan,'SELECT * FROM sekil LIMIT '.$baslangic.','.$limit); //başlangıç değerinden itibaren kaç tane veri getirilecek ise veritabanından LIMIT komutu ile verileri çekiyoruz
echo '<h1>Sayfalama İçerikler Örneği </h1>';
while ($icerik = mysqli_fetch_assoc($icerik_sorgu)){ //çekilen veriler içerisinde dönüyoruz, teker teker veriyi $icerik değişkenine aktarıyoruz
echo '<strong>',$icerik['link'],$icerik['id'],'</strong><br><hr>'; //ve veri değerlerini yazdırıyoruz
}
/*sayfalama buton kodları*/
if($toplam_icerik_sayisi > $limit){//içerik sayısı, her sayfada gösterilecek içerik sayısından büyük ise sayfalama butonları aktif edilsin
echo '<br><br>';
/*
$x = 2 olduğu durumda, aktif sayfanın önceki ve sonraki 2 sayfa gösterilir, sonrasına ... ifadesi konularak kısaltma yapılır.
böylelikle bütün sayfaları yazmamıza gerek kalmaz.
örnekler:
« Önceki 1...4 5 [6] 7 8...11 Sonraki » || [1] 2 3...11 Sonraki » || « Önceki 1...9 10 [11]
*/
$x = 2; //kısaltma limiti
if($sayfa > 1){//sayfa 1 den küçük ise [Önceki] butonu oluşturulmaya uygundur
$onceki = $sayfa-1;//aktif sayfanın bir önceki sayfa bulunur
echo '<a href="?sayfa='.$onceki.'">« Önceki </a>'; //link içerisine yazdırılıp [Önceki] butonu oluşturulur
}
if($sayfa==1){ //sayfalamada 1. sayfada bulunuyorsak
echo '<a>[1]</a>'; //1. sayfayı menüde aktif olarak gösteriyoruz
}
else{ // bulunmuyorsak
echo '<a href="?sayfa=1">1</a>'; //normal olarak gözüksün, aktif olmasın
}
//menü kısaltma işlemi
//bulunduğumuz sayfa yani $sayfa = 6 olduğu durumda
if($sayfa-$x > 2){ //6-2 > 2 değeri true döndürecek
echo '...'; //kısaltma etiketi yazdırılacak
$i = $sayfa-$x; //$i değişkenine 4 değeri atanacak
}else {
$i = 2;
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ...
for($i; $i<=$sayfa+$x; $i++) { //$i yani 4 değeri 8 değerine ulaşasıya kadar döngü çalışsın> 4 5 6 7 8
if($i==$sayfa){ //$i değeri bulunduğumuz sayfa ile eşitse
echo ' <a>['.$i.']</a> '; // aktif olarak işaretlensin ve yazdırılsın > 4 5 [6] 7 8
}
else{//değil ise
echo '<a href="?sayfa='.$i.'">'.$i.'</a>'; //normal olarak yazdırılsın
}
if($i==$sonSayfa) break;
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ... 4 5 [6] 7 8
if($sayfa+$x < $sonSayfa-1) { //6+2<11-1 ise
echo '...'; //kısaltma etiketi yazdırılacak
echo '<a href="?sayfa='.$sonSayfa.'">'.$sonSayfa.'</a>'; //son sayfa yazdırılacak
}elseif($sayfa+$x == $sonSayfa-1) {
echo '<a href="?sayfa='.$sonSayfa.'">'.$sonSayfa.'</a>';
}
//$sayfa = 6 olduğu durumda = sonuc çıktısı -> 1 ... 4 5 [6] 7 8 ... 11
//menü kısaltma işlemi
if($sayfa < $sonSayfa){//bulunduğumuz sayfa hala son sayfa değil ise
$sonraki = $sayfa+1; //bulundğumuz sayfa değeri 1 arttırılıyor
echo '<a href="?sayfa='.$sonraki.'"> Sonraki » </a>'; //ve Sonraki butonu oluşturulup yazdırılıyor
}
}
}
/*sayfalama buton kodları*/
?>[/code]
Mənfi cəhəti budur ki, PDO ilə deyil MySQLi ilə hazırlanıb. Amma kodlardan məntiqi anlayaraq PDO ilə hazırlaya bilərsiniz özünüz. :)
0
Bağışlayın, sizin üçün şərh yazmaq əlçatan deyil
Geriyə




