


Terdapat beberapa cara untuk melaksanakan paging dalam php
Sep 15, 2021 am 10:29 AMTerdapat tiga cara untuk melaksanakan paging dalam PHP, iaitu: 1. Paging sql query melalui fungsi seperti "mysql_query" 2. Menggunakan ajax untuk melaksanakan paging 3. Menggunakan "function viewpage(p){; ...}" skrip melaksanakan halaman.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Berapa banyak cara untuk dilaksanakan paging PHP?
3 cara untuk melaksanakan fungsi paging dalam PHP
Pergi terus ke kod, saya harap anda akan membacanya dengan teliti.
Kaedah 1: Bercakap tentang pertanyaan sql untuk paging, anda perlu memanggil beberapa fungsi, lihat skrip untuk butiran:
1.pager.class. php
<?php class pager { public $sql; //SQL查詢語句 public $datanum; //查詢所有的數(shù)據(jù)總記錄數(shù) public $page_size; //每頁顯示記錄的條數(shù) protected $_errstr; protected $_conn; protected $_query_id; public function query($query)///這個函數(shù)有問題,暫時可以不用 { $ret = false; if (!empty($query)) { if ($this->_conn === false || !is_resource($this->_conn)) { warningLog(__METHOD__ . ': query sql with no connection', true); return false; } $this->_query_id = @mysql_query($query, $this->_conn); if ($this->_query_id === false) { $this->_errstr = @mysql_error(); $ret = false; } else { $this->_errstr = 'SUCCESS'; $ret = $this->_query_id; } } $msg = ($ret === false) ? 'false' : strval($ret); debugLog(__METHOD__.": [$msg] returned for sql query [$query]"); return $ret; } function __construct($sql,$page_size) { $result = mysql_query($sql); $datanum = mysql_num_rows($result); $this->sql=$sql; $this->datanum=$datanum; $this->page_size=$page_size; } //當(dāng)前頁數(shù) public function page_id() { if($_SERVER['QUERY_STRING'] == ""){ return 1; }elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){ return 1; }else{ return intval(substr($_SERVER['QUERY_STRING'],8)); } } //剩余url值 public function url() { if($_SERVER['QUERY_STRING'] == ""){ return ""; }elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){ return "&".$_SERVER['QUERY_STRING']; }else{ return str_replace("page_id=".$this->page_id(),"",$_SERVER['QUERY_STRING']); } } //總頁數(shù) public function page_num() { if($this->datanum == 0){ return 1; }else{ return ceil($this->datanum/$this->page_size); } } //數(shù)據(jù)庫查詢的偏移量 public function start() { return ($this->page_id()-1)*$this->page_size; } //數(shù)據(jù)輸出 public function sqlquery() { return $this->sql." limit ".$this->start().",".$this->page_size; } //獲取當(dāng)前文件名 private function php_self() { return $_SERVER['PHP_SELF']; } //上一頁 private function pre_page() { if ($this->page_id() == 1) { //頁數(shù)等于1 return "<a href=".$this->php_self()."?page_id=1".$this->url().">上一頁</a> "; }elseif ($this->page_id() != 1) { //頁數(shù)不等于1 return "<a href=".$this->php_self()."?page_id=".($this->page_id()-1).$this->url().">上一頁</a> "; } } //顯示分頁 private function display_page() { $display_page = ""; if($this->page_num() <= 10){ //小于10頁 for ($i=1;$i<=$this->page_num();$i++) //循環(huán)顯示出頁面 $display_page .= "<a href=".$this->php_self()."?page_id=".$i.$this->url().">".$i."</a> "; return $display_page; }elseif($this->page_num() > 10){ //大于10頁 if($this->page_id() <= 6){ for ($i=1;$i<=10;$i++) //循環(huán)顯示出頁面 $display_page .= "<a href=".$this->php_self()."?page_id=".$i.$this->url().">".$i."</a> "; return $display_page; }elseif(($this->page_id() > 6) && ($this->page_num()-$this->page_id() >= 4)){ for ($i=$this->page_id()-5;$i<=$this->page_id()+4;$i++) //循環(huán)顯示出頁面 $display_page .= "<a href=".$this->php_self()."?page_id=".$i.$this->url().">".$i."</a> "; return $display_page; }elseif(($this->page_id() > 6) && ($this->page_num()-$this->page_id() < 4)){ for ($i=$this->page_num()-9;$i<=$this->page_num();$i++) //循環(huán)顯示出頁面 $display_page .= "<a href=".$this->php_self()."?page_id=".$i.$this->url().">".$i."</a> "; return $display_page; } } } //下一頁 private function next_page() { if ($this->page_id() < $this->page_num()) { //頁數(shù)小于總頁數(shù) return "<a href=".$this->php_self()."?page_id=".($this->page_id()+1).$this->url().">下一頁</a> "; }elseif ($this->page_id() == $this->page_num()) { //頁數(shù)等于總頁數(shù) return "<a href=".$this->php_self()."?page_id=".$this->page_num().$this->url().">下一頁</a> "; } } // 設(shè)置分頁信息 public function set_page_info() { $page_info = "共".$this->datanum."條 "; $page_info .= "<a href=".$this->php_self()."?page_id=1".$this->url().">首頁</a> "; $page_info .= $this->pre_page(); $page_info .= $this->display_page(); $page_info .= $this->next_page(); $page_info .= "<a href=".$this->php_self()."?page_id=".$this->page_num().$this->url().">尾頁</a> "; $page_info .= "第".$this->page_id()."/".$this->page_num()."頁"; return $page_info; } } ?>
2 Skrip 2:
<?php //類的用法 // 讀取分頁類 include("pager.class.php"); // 數(shù)據(jù)庫連接初始化 // $db = new mysql(); $impeach_host = '10.81.43.139'; $impeach_usr = 'vmtest15'; $impeach_passwd = 'vmtest15'; $impeach_name = 'ufeature'; $impeach_con = mysql_connect($impeach_host, $impeach_usr, $impeach_passwd) or die("Can't connect ".mysql_error()); mysql_select_db($impeach_name, $impeach_con); // 這是一個sql查詢語句,并得到查詢結(jié)果 $sql = "select word from ufeature.spam_accuse_word_list where flag='0'"; // 分頁初始化 $page = new pager($sql,20); // 20是每頁顯示的數(shù)量 // $res_1 = mysql_query($sql) or // die("Can't get result ".mysql_error()); $result=mysql_query($page->sqlquery()); while($info = mysql_fetch_array($result,MYSQL_ASSOC)){ // while($info = mysql_fetch_array($res_1, MYSQL_ASSOC)){ echo $info["word"]."<br/>"; } // 頁碼索引條 echo $page->set_page_info(); ?>
Kaedah 2: Menggunakan ajax
1 fahami penggunaan had dalam pernyataan SQL
SELECT * FROM table …… limit 開始位置 , 操作條數(shù) (其中開始位置是從0開始的)
Contoh
Dapatkan 20 rekod pertama: SELECT * FROM jadual …… had 0, 20
Dapatkan 20 rekod bermula dari 11: SELECT * FROM jadual …… had 10, 20
LIMIT n bersamaan dengan HAD 0,n.
Seperti pilih * daripada jadual LIMIT 5; //Kembalikan 5 baris pertama, adalah sama dengan pilih * daripada jadual LIMIT 0, 5
2 , Prinsip paging
Apa yang dipanggil paparan paging bermakna keputusan yang ditetapkan dalam pangkalan data dipaparkan satu demi satu
Cara untuk membahagikan, segmen yang sedang berada dalam (berapa banyak item setiap halaman, dan kemudian Halaman)
10 rekod pertama: pilih * daripada had jadual 0,10
Rekod ke-11 hingga ke-20: pilih * daripada had jadual 10,10
Rekod 21 hingga 30: pilih * daripada had jadual 20,10
Formula halaman:
(bilangan muka surat semasa - 1) Nombor, bilangan item setiap halaman
Select * from table limit ($Page- 1) * $PageSize, $PageSize
3. Fungsi $_SERVER["REQUEST_URI"]
Sejenis pembolehubah pelayan yang dipratentukan, semua $ Apa-apa sahaja bermula dengan _SERVER dipanggil pembolehubah pelayan.
Fungsi REQUEST_URI adalah untuk mendapatkan URI semasa, iaitu laluan alamat lengkap kecuali nama domain.
Contoh:
Halaman semasa ialah: http://www.test.com/home.php?id=23&cid=22
echo $_SERVER["REQUEST_URI"]
Hasilnya ialah: /home .php?id=23&cid=22
4. parse_url() fungsi parsing URL
parse_url() ialah fungsi yang menghuraikan URL ke dalam tatasusunan dengan tetap nilai-nilai utama ??>
Halaman ini untuk mesej terbahagi kepada 3 bahagian, satu reka bentuk pangkalan data, satu halaman sambungan, dan satu lagi halaman paparan. (1) Pangkalan data reka bentuk
$ua=parse_url("http://username:password@hostname/path?arg=value#anchor"); print_r($ua);
(2) Halaman sambungan
Array ( [scheme] => http ;協(xié)議 [host] => hostname ;主機(jī)域名 [user] => username ;用戶 [pass] => password ;密碼 [path] => /path ;路徑 [query] => arg=value ;取參數(shù) [fragment] => anchor ; )
(3) Paparan halaman
Kaedah 3:
Skrip 2:
<?php $conn = @ mysql_connect("localhost", "root", "123456") or die("數(shù)據(jù)庫鏈接錯誤"); mysql_select_db("bbs", $conn); mysql_query("set names 'GBK'"); //使用GBK中文編碼; //將空格,換行轉(zhuǎn)換為HTML可解析 function htmtocode($content) { $content = str_replace("\n", "<br>", str_replace(" ", " ", $content)); //兩個str_replace嵌套 return $content; } //$content=str_replace("'","‘",$content); //htmlspecialchars(); ?>
Pembelajaran yang disyorkan: "Tutorial Video PHP
"<?php include("conn.php"); $pagesize=2; //設(shè)置每頁顯示2個記錄 $url=$_SERVER["REQUEST_URI"]; $url=parse_url($url); $url=$url[path]; $numq=mysql_query("SELECT * FROM `message`"); $num = mysql_num_rows($numq); if($_GET){ $pageval=$_GET; $page=($pageval-1)*$pagesize; $page.=','; } if($num > $pagesize){ if($pageval<=1)$pageval=1; echo "共 $num 條". " <a href=$url?page=".($pageval-1).">上一頁</a> <a href=$url?page=".($pageval+1).">下一頁</a>"; } $SQL="SELECT * FROM `message` limit $page $pagesize "; $query=mysql_query($SQL); while($row=mysql_fetch_array($query)){ ?> <table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef"> <tr bgcolor="#eff3ff"> <td>標(biāo)題:<?php echo $row[title]?></td> <td>時間:<?php echo $row[lastdate]?></td> </tr> <tr bgcolor="#eff3ff"> <td> 用戶:<?php echo $row[user]?></td><td></td> </tr> <tr> <td>內(nèi)容:<?php echo htmtocode($row[content]);?></td> </tr> <br> </table> <?php } ?>
Atas ialah kandungan terperinci Terdapat beberapa cara untuk melaksanakan paging dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kaedah untuk mendapatkan ID sesi semasa dalam PHP adalah menggunakan fungsi session_id (), tetapi anda mesti menghubungi session_start () untuk berjaya mendapatkannya. 1. Panggil session_start () untuk memulakan sesi; 2. Gunakan session_id () untuk membaca ID Sesi dan mengeluarkan rentetan yang serupa dengan ABC123DEF456GHI789; 3 Jika pulangan kosong, periksa sama ada session_start () hilang, sama ada pengguna mengakses untuk kali pertama, atau sama ada sesi dimusnahkan; 4. ID Sesi boleh digunakan untuk pembalakan, pengesahan keselamatan dan komunikasi silang, tetapi keselamatan perlu diberi perhatian. Pastikan sesi itu diaktifkan dengan betul dan ID boleh diperolehi dengan jayanya.

Untuk mengekstrak substrings dari rentetan php, anda boleh menggunakan fungsi substr (), iaitu substra sintaks (string $ string, int $ start ,? int $ panjang = null), dan jika panjang tidak ditentukan, ia akan dipintas hingga akhir; Apabila memproses aksara berbilang bit seperti Cina, anda harus menggunakan fungsi MB_SUBSTR () untuk mengelakkan kod yang dihiasi; Jika anda perlu memintas rentetan mengikut pemisah tertentu, anda boleh menggunakan Eksploitasi () atau menggabungkan StrPOS () dan Substr () untuk melaksanakannya, seperti mengekstrak sambungan nama fail atau nama domain.

UnittestinginphpinvolvesveryingindividualcodeUnitsLikeFunctionsormethodstocatchbugsearlyandensurerurereliableFactoring.1) setupphpunitviacomposer, createatestdirectory, danconfigureautoloadandphpunit.xml.2soSteSteSteShpunit.xml.2)

Dalam PHP, kaedah yang paling biasa adalah untuk memecah rentetan ke dalam array menggunakan fungsi eksploit (). Fungsi ini membahagikan rentetan ke dalam pelbagai bahagian melalui pembatas yang ditentukan dan mengembalikan array. Sintaks adalah eksploit (pemisah, rentetan, had), di mana pemisah adalah pemisah, rentetan adalah rentetan asal, dan had adalah parameter pilihan untuk mengawal bilangan maksimum segmen. Contohnya $ str = "epal, pisang, oren"; $ arr = meletup (",", $ str); Hasilnya ialah ["Apple", "Bana

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

STD :: Chrono digunakan dalam C untuk memproses masa, termasuk mendapatkan masa semasa, mengukur masa pelaksanaan, titik masa operasi dan tempoh, dan masa analisis pemformatan. 1. Gunakan std :: chrono :: system_clock :: sekarang () untuk mendapatkan masa semasa, yang boleh ditukar menjadi rentetan yang boleh dibaca, tetapi jam sistem mungkin tidak membosankan; 2. Gunakan std :: chrono :: steady_clock untuk mengukur masa pelaksanaan untuk memastikan monoton, dan mengubahnya menjadi milisaat, saat dan unit lain melalui duration_cast; 3. Titik masa (time_point) dan tempoh (tempoh) boleh saling beroperasi, tetapi perhatian harus dibayar kepada keserasian unit dan zaman jam (Epoch)

ToAccessenVironmentVariablesInphp, useGetenv () orthe $ _envsuperglobal.1.getenv ('var_name') retrievesaspecificvariable.2. $ _ En V ['var_name'] AccessSvariablesifvariables_orderinphp.iniincludes "e" .setVariablesviacliwithvar = valuePhpscript.php, inapach

Dalam PHP, untuk lulus pemboleh ubah sesi ke halaman lain, kunci adalah untuk memulakan sesi dengan betul dan menggunakan nama kunci $ _Session yang sama. 1. Sebelum menggunakan pembolehubah sesi untuk setiap halaman, ia mesti dipanggil session_start () dan diletakkan di hadapan skrip; 2. Set pembolehubah sesi seperti $ _Session ['username'] = 'Johndoe' pada halaman pertama; 3. Selepas memanggil session_start () pada halaman lain, akses pembolehubah melalui nama kunci yang sama; 4. Pastikan bahawa session_start () dipanggil pada setiap halaman, elakkan mengeluarkan kandungan terlebih dahulu, dan periksa bahawa laluan penyimpanan sesi pada pelayan boleh ditulis; 5. Gunakan SES
