Paging adalah fungsi yang digunakan oleh hampir setiap laman web, kerana jika terdapat banyak kandungan dan tiada paging digunakan, paparan halaman akan menjadi sangat panjang, yang akan sangat menyusahkan untuk digunakan dan mencari, jadi mari kita bercakap tentang ini sangat praktikal fungsi.
Idea umum paging:
Paging adalah untuk membahagikan semua maklumat dalam pangkalan data kepada beberapa segmen dengan nombor tetap, jadi dua data diperlukan di sini:
Bilangan item maklumat yang dipaparkan pada setiap halaman $limitPage
Dapatkan Count paging semasa $Page
Sejak bahasa komputer mula memperoleh rekod daripada 0 secara lalai
Jika anda menetapkan bilangan paparan setiap halaman kepada 5, $limitPage = 5,
yang pertamahalaman $halaman = 1 akan memaparkan 0, 1, 2 , 3 , 4 tiga rekod
Halaman kedua $halaman = 2 akan memaparkan 5 , 6 , 7 , 8 , 9 , 10 Tiga rekod
Halaman ketiga $halaman = 3 akan memaparkan 11, 12, 13, 14, 15 tiga rekod
dan seterusnya. . . . . . . . .
Tetapkan parameter $limitDari mana data untuk mula membaca
Daripada peraturan di atas, kita boleh mendapatkan:
$limitFrom = ($halaman - 1) * $limitPage;
Ia akan bermula dari 0 dan 5 masing-masing , 11 item mula mendapatkan data. . Ini dalam Situasi yang lama, jika terdapat 100 maklumat, kami diberi 11 dipaparkan pada setiap halaman, bagaimana untuk menangani baki 1 keping,
Kemudian kita perlu menggunakan % untuk membuat baki untuk menilai:
<?php $link = mysqli_connect('localhost','uesrname','password','news'); $sql = "select * from new"; // select * from表示获取全部字段的值 $sqlCount = "select count(*) from new"; //count(*)是计算数据总的条数 $retQuery = mysqli_query($link, $sqlCount); //查询数量sql语句 $retCount = mysqli_fetch_array($retQuery); //获取数量 $count = $retCount[0]?$retCount[0]:0; //判断获取的新闻数量 $countNews = $count; ?>Parameter lain Halaman sebelumnya $prev, halaman seterusnya $next;
Dalam fungsi paging, selalunya terdapat klik pada "halaman sebelumnya" dan "halaman seterusnya" untuk melompat
$prev = ($halaman - 1 <= 0 )?1:$halaman-1;
//Apabila nombor halaman semasa lebih besar daripada jumlah halaman, halaman semasa dipaparkan.
<?php $countPage = $countNews%$limitPage; //求余数获取分页数量能否被除尽 if(($countPage) > 0) { //获取的页数有余 $countPage = ceil($countNews/$limitPage); // ceil() 函数向上舍入为最接近的整数,除不尽则取整数+1页, 100个新闻每个页面显示11个,成9个页面,剩余1个单独成1个页面,这样总共有10个页面 } else { $countPage = $countNews/$limitPage; //如果是10个新闻每个页面显示2个,成5个页面 } ?>