..


Sponsor Bağlantılar

MySQL db veri Sayfalandırmayı

Max Bossi tarafından yazılmış Makale

Bizim her iki PHP rehberlik dil ayrılmış önceki yazılarımızda, zaten farklı şekilde PHP / MySQL kazanan kombinasyonu nasıl gördük.

Özellikle, biz zaten DB veri ayıklamak da öğrenmiş olacaksınız, ama bir "sorun" adresine "unutulmuş" olan çok yaygın olmasıdır: veritabanındaki kayıtları özellikle çok zaman, birden fazla sayfa bölün gibi?

Bu makalede, aslında, bizim veritabanındaki belirli bir tablo içinde veri büyük miktarda disk belleği nasıl göreceksiniz.
İşte bir örnek: id, isim ve telefon, ve bu tabloda 100 kayıt doldurulur demek: Eğer programı sadece üç alandan oluşur adlı bir tablo var diyelim:

Eğer tek sayfalık yüz içinde tüm kayıtları ayıklamak istediğiniz pratik olacağını tahmin edebilirsiniz, kayıtları her bir grup ile birden fazla sayfa içine bölerek bunları kaldırmak için çok daha kolay olacaktır.
Bunun için, bize doğru seçmekte ne kadar ve hangi sağlayan kullanışlı bir özellik yerel MySQL SINIR işlevini kullanın. Kalkış ve almak için kayıt sayısını kayıtlarını: yapmak için işini SINIR iki parametre gerektirir.

Pratik bir örnek görelim:






 <?







 / / Kayıt sayısını belirler bir değişkeni oluşturun

 





 / / Her sayfada görüntülemek için







 $ X_pag = 5;









 / / Geçerli sayfa numarasını alın.







 / / Genellikle bir sorgu dizesi kullanmak







 $ Sayfa = $ _GET ['sayfa'];









 $ Sayfa geliştirildiğinde, / / ​​kontrol edin ...







 / / ... Yoksa, değeri 1 atamak







 if ($ sayfa) $ sayfa = 1;

 







 / / Ben veritabanına bağlanmak







 $ Conn = mysql_connect ("localhost", "kullanıcı", "parola");







 mysql_select_db ("db_name", $ conn);









 / / Satırları saymak mysql_num_rows kullanın







 Tablo Takvimde / /







 $ All_rows = mysql_num_rows (mysql_query ("gündem SELECT id"));









 Basit bir matematiksel işlem çağrı kullanma / /







 / / Toplam sayfa sayısı







 All_pages = $ ceil ($ all_rows / $ x_pag);









 / / Hesaplama başlatmak için hangi kayıt







 $ Ilk = ($ sayfa - 1) * $ x_pag;









 / / Geçerli sayfa için kayıt al ...







 Kullanmak için / / ilk dolar LIMIT ve x_pag dolara kadar saymak







 $ Rs = mysql_query ("takvim LIMIT ilk $ $ x_pag SELECT *");







 $ Nr = mysql_num_rows ($ rs);







 if ($ nr! = 0) {



  



 {, (x $ <$ n $ x + + $ x = 0)



    



 $ Satır = mysql_fetch_assoc ($ rs);



    



 echo "<table> <tr>";



    



 echo "<td>".

 



 $ Satır ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Satır ['name'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Satır ['telefon'].

 



 "</ Td>";



    



 echo "</ tr> </ table>";



  



 }







 Else {}



  



 "bulunamadı kaydı echo"







 }









 Toplam sayfa 1 'den fazla olan / / Eğer ...







 / / Farklı sayfaları arasında ileri ve geri gitmek için Yazdır link!







 if ($ all_pages> 1) {



  



 if ($ sayfa> 1) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";



    





  



 }

 

  



 if ($ all_pages> $ sayfa) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. Aşağıda yazılı olanlar "\">";



    



 echo "Sonraki Sayfa </ a>";



  



 }

 





 }









 DB / / Kapat bağlantı







 mysql_close ($ conn);







 ?>



Kodu da bu nedenle, daha fazla açıklama için bir ihtiyaç olduğunu düşünmüyorum, yorum ve.

Aynı Kategoride ...
E-Öğrenme
Linux (Ders) Linux (Ders)
Açık kaynak sistemi komple rehberi. 49 € düşük.
MySQL (Ders) MySQL (Ders)
Açık kaynak veritabanı yönetimi. En düşük € 39.
PHP (Ders) PHP (Ders)
Dinamik Web siteleri oluşturmak için tam ders. 49 € düşük.
Sponsor Bağlantılar