..
Tiek mūsų vadovas PHP , kuri ankstesniuose straipsniuose skirta kalba, jau matėme, kaip panaudoti įvairiais būdais kombinacija PHP / MySQL.
Tiksliau jau matėme, kaip gauti duomenis iš DB, bet mes turime "pamiršote" spręsti "problema" yra labai dažnas, o būtent: kai duomenų bazėje įrašai yra ypač daug, kaip jūs galite suskirstyti jas į kelis puslapius?
Šiame straipsnyje, iš tiesų, pamatysime, kaip padaryti didelį kiekį duomenų numeracija per tam tikrą lentelę mūsų duomenų bazėje.
Paimkime pavyzdį: tarkime, jūs turite lentelę, pavadintą grafiką sudaro tik trijose srityse: ID, vardas, pavardė ir telefono numerį, ir pasakyti, kad šioje lentelėje yra apgyvendintos su 100 įrašai:

Pažiūrėkime Praktinis pavyzdys:
<?
/ / Sukurti kintamasis, kuriame įrašų skaičius
/ / Norėdami rodyti kiekvieno puslapio
$ X_pag = 5;
/ / Gauti dabartinio puslapio numerį.
/ / Bendrai naudoti eilutės užklausos
$ Puslapis = $ _GET ['puslapis'];
/ / Tikrinama, jei $ puslapis yra tvirtesnis ...
/ / ... Priešingu atveju, aš priskirti reikšmę 1
if ($ puslapis) $ puslapis = 1;
/ / Aš prisijungti prie duomenų bazės
$ Conn = mysql_connect ("localhost", "vartotojo", "slaptažodis");
mysql_select_db ("db_name", $ conn);
/ / Naudoti mysql_num_rows suskaičiuoti eilučių
Lentelėje Darbotvarkė / /
$ All_rows = mysql_num_rows (mysql_query ("SELECT id FROM darbotvarkė"));
/ / Naudojant paprastą matematinę operaciją skambinti
/ / Bendras puslapių skaičius
All_pages = $ lubų ($ all_rows / $ x_pag);
/ / Apskaičiavimas, kuri įrašyti pradėti
$ Pirmas = ($ page - 1) * $ x_pag;
/ / Gauti dabartinės puslapis įrašus ...
Jei naudojant / / TERMINAS $ nuo pirmos ir skaičiuoti iki $ x_pag
$ R = mysql_query ("SELECT * FROM kalendorius LIMIT $ pirma, $ x_pag");
$ Nr = mysql_num_rows ($ rs);
if ($ numerį! = 0) {
for ($ x = 0; $ x <$ n $ x + +) {
$ Row = mysql_fetch_assoc ($ rs);
echo "<table> <tr>";
echo "<td>".
$ Row ['id'].
"</ Td>";
echo "<td>".
$ Row ['vardas'].
"</ Td>";
echo "<td>".
$ Row ['Telefonas'].
"</ Td>";
echo "</ tr> </ table>";
}
Else {}
echo "Nėra įrašų nerasta!"
}
/ / Jei Puslapių iš viso yra daugiau nei 1 ...
/ / Mold nuorodą, grįžti atgal ir pirmyn tarp skirtingus puslapius!
if ($ all_pages> 1) {
if ($ puslapis> 1) {
echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";
}
if ($ all_pages> $ puslapis) {
echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + 1. "\">";
echo "Sekantis puslapis </ a>";
}
}
/ / Glaudų ryšį su DB
mysql_close ($ conn);
?>
Kodas yra gerai komentarų, todėl nemanau, kad yra tolesnio paaiškinimo reikia.
| |
"Linux" (kurso)
Užbaigti vadovą į atviro kodo sistemą. Pradedant nuo 49 €. |
| |
MySQL (kurso)
Valdymas atviro kodo duomenų bazėje. Nuo 39 €. |
| |
PHP (kurso)
Visas kursas kurti dinaminius interneto svetainių. Pradedant nuo 49 €. |