Rumah pembangunan bahagian belakang tutorial php php+mysql分页处理的探讨_PHP

php+mysql分页处理的探讨_PHP

Jun 01, 2016 pm 12:40 PM
echo id ord berurusan dengan Bincangkan Rekod mulakan

php+mysql分页处理的探讨
常见的分页处理流程为:
1、用select count(*) from tbl_name取得待分页的总记录数
2、根据每页的记录数计算出总页数:总页数 = ceil(总记录数/每页记录数)
3、根据当前页号计算出起始位置:起始位置 = (当前页号-1)*每页记录数
4、用select * from tbl_name limit 起始位置,每页记录数 取得待显示记录
5、列表输出相关信息

在这个流程中,数据库需要两次遍历表才能得到所需数据。尽管limit会在得到指定记录数后会终止遍历,但前面直到“起始位置”的检索是浪费掉的。

这里提出一种新算法与大家讨论:
1、利用mysql的用户变量,分割并提取每页起始的id号。
2、查询结果的记录数即为总页数
3、根据当前页号取得当前页的起始id
4、用select * from tbl_name where id>=起始id limit 每页记录数 取得待显示记录
5、列表输出相关信息

可以看到,在后一次查询中。由于利用了id作为主键的特征,数据库可直接定位到所需记录。从而减少了查询时间。
这个查询算法有一个副产品:可以产生一条用于衔接上下页的重复记录,也就是各页间有一条重叠的记录。当然,去掉他也是很容易的。
以下是测试代码:
include "mysql_result_all.inc"; // 用于显示查询结果的工作函数

$pagesize = 9; // 每页行数
$type = 1; // =1降序排列
$mode = 0; // =1不重复上页最后一条记录

$conn = mysql_connect(); // 连接mysql
mysql_select_db("site"); // 选择数据库

// 准备动态修改查询串
if($type) {
$order = "desc";
$expr = "}else {
$order = "";
$expr = ">=";
}
if($mode) $pagesize++;

mysql_query("set @v:=-1"); // 定义mysql用户变量
$rs = mysql_query("select @v:=(@v+1) as xh, id from data HAVING mod(xh,$pagesize)=0 order by id $order");
mysql_result_all($rs); // 检查各页分布

echo $pages = mysql_num_rows($rs); // 取得总页数
if($mode) $pagesize--;

// 测试分页结果,$i表示显示页
for($i=0;$i mysql_data_seek($rs,$i); // 移动结果集指针
list($xh,$id) = mysql_fetch_row($rs); // 取得起始id
echo "
[$i] $xh -- $id";
$rs1 = mysql_query("select * from data where id$expr$id order by id $order limit $pagesize");
mysql_result_all($rs1); // 显示相关结果
}
?>

mysql_result_all.inc
这个函数我贴过多次了,对调试程序非常有用的。

function mysql_result_all($result,$format="") {
echo "

";
for($i=0;$i echo "";
}
echo "";
while($row = mysql_fetch_row($result)) {
echo "";
for($i=0;$i echo "";
}
echo "";
}
echo "
".mysql_field_name($result,$i)."
".$row[$i]."
";
}
?>

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

ID Apple ini belum lagi digunakan dalam iTunes Store: Betulkan ID Apple ini belum lagi digunakan dalam iTunes Store: Betulkan Jun 10, 2024 pm 05:42 PM

Apabila log masuk ke iTunesStore menggunakan AppleID, ralat ini mengatakan "AppleID ini belum digunakan dalam iTunesStore" mungkin dilemparkan pada skrin. Tiada mesej ralat yang perlu dibimbangkan, anda boleh membetulkannya dengan mengikuti set penyelesaian ini. Betulkan 1 – Tukar Alamat Penghantaran Sebab utama gesaan ini muncul di iTunes Store ialah anda tidak mempunyai alamat yang betul dalam profil AppleID anda. Langkah 1 – Pertama, buka Tetapan iPhone pada iPhone anda. Langkah 2 – AppleID harus berada di atas semua tetapan lain. Jadi, bukalah. Langkah 3 – Setelah sampai, buka pilihan “Pembayaran & Penghantaran”. Langkah 4 – Sahkan akses anda menggunakan Face ID. langkah

Betulkan ralat cakera ID acara 55, 50, 98, 140 dalam pemapar acara Betulkan ralat cakera ID acara 55, 50, 98, 140 dalam pemapar acara Mar 19, 2024 am 09:43 AM

Jika anda menemui ID acara 55, 50, 140 atau 98 dalam Pemapar Acara Windows 11/10, atau menghadapi ralat bahawa struktur sistem fail cakera rosak dan tidak boleh digunakan, sila ikut panduan di bawah untuk menyelesaikan isu tersebut. Apakah maksud Peristiwa 55, struktur sistem fail pada cakera rosak dan tidak boleh digunakan? Pada sesi 55, struktur sistem fail pada cakera Ntfs rosak dan tidak boleh digunakan. Sila jalankan utiliti chkMSK pada volum Apabila NTFS tidak dapat menulis data ke log transaksi, ralat dengan ID Peristiwa 55 akan dicetuskan, yang akan menyebabkan NTFS gagal menyelesaikan operasi tidak dapat menulis data transaksi. Ralat ini biasanya berlaku apabila sistem fail rosak, mungkin disebabkan oleh kehadiran sektor buruk pada cakera atau ketidakcukupan sistem fail subsistem cakera.

Di manakah saya boleh melihat rekod perkara yang telah saya beli di Pinduoduo Bagaimana untuk melihat rekod produk yang dibeli? Di manakah saya boleh melihat rekod perkara yang telah saya beli di Pinduoduo Bagaimana untuk melihat rekod produk yang dibeli? Mar 12, 2024 pm 07:20 PM

Perisian Pinduoduo menyediakan banyak produk yang bagus, anda boleh membelinya pada bila-bila masa dan di mana-mana sahaja, dan kualiti setiap produk dikawal ketat, setiap produk adalah tulen, dan terdapat banyak diskaun beli-belah keutamaan, membolehkan semua orang membeli-belah dalam talian. Masukkan nombor telefon mudah alih anda untuk log masuk dalam talian, tambahkan berbilang alamat penghantaran dan maklumat hubungan dalam talian, dan semak arah aliran logistik terkini pada bila-bila masa. Cari dan leret ke atas dan ke bawah untuk membeli dan membuat pesanan. Anda boleh mengalami kemudahan tanpa meninggalkan rumah Dengan perkhidmatan membeli-belah dalam talian, anda juga boleh melihat semua rekod pembelian, termasuk barangan yang telah anda beli, dan menerima berpuluh-puluh sampul merah beli-belah dan kupon Sekarang editor telah menyediakan maklumat dalam talian terperinci untuk Pengguna Pinduoduo untuk melihat rekod produk yang dibeli. 1. Buka telefon anda dan klik pada ikon Pinduoduo.

Proses operasi hos perkhidmatan WIN10 yang menduduki terlalu banyak CPU Proses operasi hos perkhidmatan WIN10 yang menduduki terlalu banyak CPU Mar 27, 2024 pm 02:41 PM

1. Mula-mula, kita klik kanan ruang kosong bar tugas dan pilih pilihan [Task Manager], atau klik kanan logo mula, dan kemudian pilih pilihan [Task Manager]. 2. Dalam antara muka Pengurus Tugas yang dibuka, kami klik tab [Perkhidmatan] di hujung kanan. 3. Dalam tab [Perkhidmatan] yang dibuka, klik pilihan [Buka Perkhidmatan] di bawah. 4. Dalam tetingkap [Services] yang terbuka, klik kanan perkhidmatan [InternetConnectionSharing(ICS)], dan kemudian pilih pilihan [Properties]. 5. Dalam tetingkap sifat yang terbuka, tukar [Buka dengan] kepada [Disabled], klik [Apply] dan kemudian klik [OK]. 6. Klik logo mula, kemudian klik butang tutup, pilih [Mulakan Semula], dan selesaikan mula semula komputer.

Di manakah saya boleh mencari ID Alibaba? Di manakah saya boleh mencari ID Alibaba? Mar 08, 2024 pm 09:49 PM

Dalam perisian Alibaba, sebaik sahaja anda berjaya mendaftarkan akaun, sistem akan memberikan anda ID unik, yang akan berfungsi sebagai identiti anda pada platform. Tetapi bagi kebanyakan pengguna, mereka ingin menanyakan ID mereka, tetapi tidak tahu cara melakukannya. Kemudian editor laman web ini akan membawakan anda pengenalan terperinci kepada langkah-langkah strategi di bawah, saya harap ia dapat membantu anda! Di mana untuk mencari jawapan kepada Alibaba ID: [Alibaba]-[My]. 1. Mula-mula buka perisian Alibaba Selepas memasuki laman utama, kita perlu klik [My] di sudut kanan bawah 2. Kemudian selepas datang ke halaman Saya, kita boleh melihat [id] di bahagian atas halaman; Adakah ID sama dengan Taobao Alibaba ID dan Taobao ID adalah berbeza, tetapi kedua-duanya

Tempat untuk menyemak ID Video Tencent Tempat untuk menyemak ID Video Tencent Feb 24, 2024 pm 06:25 PM

Di manakah saya boleh menyemak ID Video Tencent? Terdapat ID eksklusif dalam APP Video Tencent, tetapi kebanyakan pengguna tidak tahu cara menyemak ID Video Tencent Seterusnya ialah tutorial grafik tentang cara menyemak ID Video Tencent yang dibawa oleh editor untuk pengguna yang berminat. Datang dan lihat! Tutorial Penggunaan Video Tencent Di mana untuk menyemak ID Video Tencent 1. Mula-mula buka APP Video Tencent dan masukkan kawasan khas melalui [Pusat Peribadi] di sudut kanan bawah halaman utama 2. Kemudian masukkan halaman Pusat Peribadi dan pilih [; Fungsi Tetapan]; 3. Kemudian pergi ke halaman Tetapan, klik [Keluar Akaun] di bahagian bawah 4. Akhir sekali, anda boleh melihat nombor ID eksklusif pada halaman yang ditunjukkan di bawah;

Ketahui cara mengendalikan aksara khas dan menukar petikan tunggal dalam PHP Ketahui cara mengendalikan aksara khas dan menukar petikan tunggal dalam PHP Mar 27, 2024 pm 12:39 PM

Dalam proses pembangunan PHP, berurusan dengan aksara khas adalah masalah biasa, terutamanya dalam pemprosesan rentetan, aksara khas sering terlepas. Antaranya, menukar aksara khas kepada petikan tunggal adalah keperluan yang agak biasa, kerana dalam PHP, petikan tunggal adalah cara biasa untuk membungkus rentetan. Dalam artikel ini, kami akan menerangkan cara mengendalikan petikan tunggal penukaran aksara khas dalam PHP dan memberikan contoh kod khusus. Dalam PHP, aksara khas termasuk tetapi tidak terhad kepada petikan tunggal ('), petikan berganda ("), segaris ke belakang (), dsb. Dalam rentetan

Keperluan pembangunan bahasa Go: 5 cadangan rangka kerja yang popular Keperluan pembangunan bahasa Go: 5 cadangan rangka kerja yang popular Mar 24, 2024 pm 01:15 PM

"Go Language Development Essentials: 5 Syor Rangka Kerja Popular" Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go digemari oleh semakin ramai pembangun. Untuk meningkatkan kecekapan pembangunan dan mengoptimumkan struktur kod, ramai pembangun memilih untuk menggunakan rangka kerja untuk membina aplikasi dengan cepat. Dalam dunia bahasa Go, terdapat banyak rangka kerja yang sangat baik untuk dipilih. Artikel ini akan memperkenalkan 5 rangka kerja bahasa Go yang popular dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan rangka kerja ini dengan lebih baik. 1.GinGin ialah rangka kerja web yang ringan dengan pantas

See all articles