..


Linki sponsorowane

Stronicowanie danych z MySQL db

Artykuł napisany przez Max Bossi

Zarówno w naszym przewodnik PHP , które w poprzednich artykułach poświęconych języka, widzieliśmy już, jak wykorzystać na różne sposoby zwycięskiej kombinacji PHP / MySQL.

W szczególności już widzieliśmy, jak wyodrębnić dane z DB, ale mamy "zapomniany" na adres "problem" jest bardzo często, a mianowicie: gdy rekordy w bazie danych są szczególnie liczne, jak można je podzielić na kilka stron?

W tym artykule, w rzeczywistości, przekonamy się, jak zrobić podział na strony z dużą ilością danych w danej tabeli w bazie danych.
Weźmy przykład: Powiedzmy, że masz tabelę o nazwie Plan składa się z trzech pól: numer identyfikacyjny, nazwisko i numer telefonu, i powiedzieć, że ta tabela jest wypełniona 100 zapisów:

Jak można sobie wyobrazić byłoby niepraktyczne chcesz wyodrębnić wszystkie sto rekordów w jednej stronie, o wiele bardziej komfortowa będzie je usunąć, dzieląc je na wiele stron z wieloma rekordy każdego.
Aby tego dokonać, używamy przydatna funkcja wbudowana funkcja MySQL LIMIT, która pozwala nam precyzyjnie określić, ile i rekordy, które wybrać. Aby to zrobić swój limit pracy wymaga dwóch parametrów: zapis wyjazdu i liczbę rekordów do pobrania.

Zobaczmy praktyczny przykład:






 <?







 / / Utworzenie zmiennej, która określa liczbę rekordów

 





 / / Aby wyświetlić na każdej stronie







 $ X_pag = 5;









 / / Pobierz aktualny numer strony.







 / / Ogólnie użyć kwerendy







 $ Page = $ _GET ['page'];









 / / Sprawdź, czy $ page jest zwiększona ...







 / / ... W przeciwnym wypadku mogę przypisać wartość 1







 if ($ strona) $ page = 1;

 







 / / I połączenia z bazą danych







 $ Conn = mysql_connect ("localhost", "user", "password");







 mysql_select_db ("db_name", $ conn);









 / / Użyj mysql_num_rows liczyć wiersze







 / / W porządku obrad tabeli







 $ All_rows = mysql_num_rows (mysql_query ("SELECT id FROM porządku"));









 / / Za pomocą prostego matematycznego call pracy







 / / Całkowita liczba stron







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









 / / Obliczanie które rejestrują, aby rozpocząć







 Pierwszy = $ ($ page - 1) * $ x_pag;









 / / Pobierz rekordy z bieżącej strony ...







 / / Do korzystania z LIMIT $ od pierwszej i liczyć do $ x_pag







 $ R = mysql_query ("SELECT * FROM LIMIT kalendarza $ first, $ x_pag");







 $ Nr = mysql_num_rows ($ rs);







 if ($ numer! = 0) {



  



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



    



 $ Row = mysql_fetch_assoc ($ rs);



    



 echo "<tr>";



    



 echo "<td>".

 



 $ Row ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['name'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['telefon'].

 



 "</ Td>";



    



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



  



 }







 Else {}



  



 echo "Nie znaleziono rekordów!"







 }









 / / Jeśli ogólna liczba stron jest więcej niż 1 ...







 / / Mold łącze, aby przejść tam iz powrotem pomiędzy różnymi stronami!







 if ($ all_pages> 1) {



  



 if ($ page> 1) {



    



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



    





  



 }

 

  



 if ($ all_pages> $ strona) {



    



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



    



 echo "Następna strona </ a>";



  



 }

 





 }









 / / Zamknij połączenie z DB







 mysql_close ($ conn);







 ?>



Kod jest dobrze skomentowany i dlatego nie sądzę, istnieje potrzeba dalszych wyjaśnień.

W tej samej kategorii ...
E-Learning
Linux (Kurs) Linux (Kurs)
Kompletny przewodnik po systemie open-source. Począwszy od 49 €.
MySQL (Kurs) MySQL (Kurs)
Zarządzanie bazą danych open-source. Począwszy od 39 €.
PHP (Kurs) PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Począwszy od 49 €.
Linki sponsorowane