..
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:

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ń.
| |
Linux (Kurs)
Kompletny przewodnik po systemie open-source. Począwszy od 49 €. |
| |
MySQL (Kurs)
Zarządzanie bazą danych open-source. Począwszy od 39 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Począwszy od 49 €. |