cari
Rumahpembangunan bahagian belakangtutorial php PHP分页种添加查询条件

PHP分页类添加查询条件
请问分页类显示的页码怎么加入查询的条件,现在查询出来的页码链接都没有加上查询条件的

php分页类源码

<br>
<br>
<?php <br />
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:<br>
@$page = $_GET['page'];<br>
if(!function_exists('pageft')){<br>
//定义函数pageft(),三个参数的含义为:<br>
//$totle:信息总数;<br>
//$displaypg:每页显示信息数,这里设置为默认是20;<br>
//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。<br>
//   默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。<br>
function pageft($totle,$displaypg=20,$shownum=0,$showtext=0,$showselect=0,$showlvtao=7,$url=''){<br>
<br>
//定义几个全局变量:<br>
//$page:当前页码;<br>
//$firstcount:(数据库)查询的起始项;<br>
//$pagenav:页面导航条代码,函数内部并没有将它输出;<br>
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。<br>
global $page,$firstcount,$pagenav,$_SERVER;<br>
<br>
//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。<br>
$GLOBALS["displaypg"]=$displaypg;<br>
<br>
if(!$page) $page=1;<br>
<br>
//如果$url使用默认,即空值,则赋值为本页URL:<br>
if(!$url){ $url=$_SERVER["REQUEST_URI"];}<br>
<br>
//URL分析:<br>
$parse_url=parse_url($url);<br>
$url_query=$parse_url["query"]; //单独取出URL的查询字串<br>
if($url_query){<br>
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。<br>
//这里用到了正则表达式,请参考“PHP中的正规表达式”<br>
$url_query=ereg_replace("(^|&)page=$page","",$url_query);<br>
<br>
//将处理后的URL的查询字串替换原来的URL的查询字串:<br>
$url=str_replace($parse_url["query"],$url_query,$url);<br>
<br>
//在URL后加page查询信息,但待赋值:<br>
if($url_query) $url.="&page"; else $url.="page";<br>
}else {<br>
$url.="?page";<br>
}<br>
<br>
//页码计算:<br>
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数<br>
$page=min($lastpg,$page);<br>
$prepg=$page-1; //上一页<br>
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页<br>
$firstcount=($page-1)*$displaypg;<br>
<br>
//开始分页导航条代码:<br>
if ($showtext==1){<br>
$pagenav="<span>".($totle?($firstcount+1):0)."-".min($firstcount+$displaypg,$totle)."/$totle 记录</span><span>$page/$lastpg 页</span>";<br>
}else{<br>
$pagenav="";	<br>
}<br>
//如果只有一页则跳出函数:<br>
if($lastpg
<br>
if($prepg) $pagenav.="<a>首页</a>"; else $pagenav.='<span>首页</span>';<br>
if($prepg) $pagenav.="<a>上一页</a>"; else $pagenav.='<span>上一页</span>';<br>
if ($shownum==1){<br>
	$o=$showlvtao;//中间页码表总长度,为奇数<br>
	$u=ceil($o/2);//根据$o计算单侧页码宽度$u<br>
	$f=$page-$u;//根据当前页$currentPage和单侧宽度$u计算出第一页的起始数字<br>
	//str_replace('{p}',,$fn)//替换格式<br>
	if($f
	$n=$lastpg;//总页数,20页<br>
	if($n
	if($page==1){<br>
		$pagenav.='<span>1</span>';<br>
	}else{<br>
		$pagenav.="<a>1</a>";<br>
	}<br>
	///////////////////////////////////////<br>
	for($i=1;$i
		if($n
		$c=$f+$i;//从第$c开始累加计算<br>
		if($i==1 && $c>2){<br>
			$pagenav.='...';<br>
		}<br>
		if($c==1){continue;}<br>
		if($c==$n){break;}<br>
		if($c==$page){<br>
			$pagenav.='<span>'.$page.'</span>';<br>
		}else{<br>
			$pagenav.="<a>$c</a>";<br>
		}<br>
		if($i==$o && $c
			$pagenav.='...';<br>
		}<br>
		if($i>$n){break;}//当总页数小于页码表长度时	<br>
	}<br>
	if($page==$n && $n!=1){<br>
		$pagenav.='<span>'.$n.'</span>';<br>
	}else{<br>
		$pagenav.="<a>$n</a>";<br>
		}<br>
}<br>
<br>
if($nextpg) $pagenav.="<a>下一页</a>"; else $pagenav.='<span>下一页</span>';<br>
if($nextpg) $pagenav.="<a>尾页</a>"; else $pagenav.='<span>尾页</span>'; <div class="clear">
                 
              
              
        
            </div>
Kenyataan
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
Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apakah beberapa masalah biasa yang boleh menyebabkan sesi PHP gagal?Apr 25, 2025 am 12:16 AM

Sebab -sebab kegagalan phpsession termasuk kesilapan konfigurasi, isu cookie, dan tamat tempoh sesi. 1. Ralat Konfigurasi: Semak dan tetapkan session.save_path yang betul. Masalah 2.Cookie: Pastikan kuki ditetapkan dengan betul. 3.Session Expires: Laraskan Nilai Sesi.GC_MAXLifetime untuk melanjutkan masa sesi.

Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Bagaimanakah anda menyebarkan isu berkaitan sesi dalam PHP?Apr 25, 2025 am 12:12 AM

Kaedah untuk masalah sesi debug dalam PHP termasuk: 1. Periksa sama ada sesi dimulakan dengan betul; 2. Sahkan penghantaran ID sesi; 3. Semak penyimpanan dan bacaan data sesi; 4. Semak konfigurasi pelayan. Dengan mengeluarkan ID dan data sesi, melihat kandungan fail sesi, dan lain-lain, anda boleh mendiagnosis dan menyelesaikan masalah yang berkaitan dengan sesi.

Apa yang berlaku jika session_start () dipanggil beberapa kali?Apa yang berlaku jika session_start () dipanggil beberapa kali?Apr 25, 2025 am 12:06 AM

Pelbagai panggilan ke session_start () akan menghasilkan mesej amaran dan kemungkinan penggantian data. 1) PHP akan mengeluarkan amaran, menyebabkan sesi telah dimulakan. 2) Ia boleh menyebabkan penggantian data sesi yang tidak dijangka. 3) Gunakan session_status () untuk memeriksa status sesi untuk mengelakkan panggilan berulang.

Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Bagaimana anda mengkonfigurasi seumur hidup sesi di PHP?Apr 25, 2025 am 12:05 AM

Mengkonfigurasi kitaran hayat sesi dalam PHP boleh dicapai dengan menetapkan sesi.gc_maxlifetime dan session.cookie_lifetime. 1) session.gc_maxlifetime mengawal masa survival data sesi pelayan, 2) session.cookie_lifetime mengawal kitaran hayat kuki klien. Apabila ditetapkan ke 0, kuki tamat apabila penyemak imbas ditutup.

Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apakah kelebihan menggunakan pangkalan data untuk menyimpan sesi?Apr 24, 2025 am 12:16 AM

Kelebihan utama menggunakan sesi penyimpanan pangkalan data termasuk kegigihan, skalabilitas, dan keselamatan. 1. Kegigihan: Walaupun pelayan dimulakan semula, data sesi tidak dapat berubah. 2. Skalabiliti: Berkenaan dengan sistem yang diedarkan, memastikan data sesi disegerakkan di antara pelbagai pelayan. 3. Keselamatan: Pangkalan data menyediakan storan yang disulitkan untuk melindungi maklumat sensitif.

Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Bagaimana anda melaksanakan pengendalian sesi tersuai di PHP?Apr 24, 2025 am 12:16 AM

Melaksanakan pemprosesan sesi tersuai dalam PHP boleh dilakukan dengan melaksanakan antara muka sessionHandlerInterface. Langkah -langkah khusus termasuk: 1) mewujudkan kelas yang melaksanakan sessionHandlerInterface, seperti CustomSessionHandler; 2) kaedah penulisan semula dalam antara muka (seperti terbuka, rapat, membaca, menulis, memusnahkan, gc) untuk menentukan kitaran hayat dan kaedah penyimpanan data sesi; 3) Daftar pemproses sesi tersuai dalam skrip PHP dan mulakan sesi. Ini membolehkan data disimpan dalam media seperti MySQL dan REDIS untuk meningkatkan prestasi, keselamatan dan skalabiliti.

Apakah ID Sesi?Apakah ID Sesi?Apr 24, 2025 am 12:13 AM

SesionID adalah mekanisme yang digunakan dalam aplikasi web untuk mengesan status sesi pengguna. 1. Ia adalah rentetan yang dijana secara rawak yang digunakan untuk mengekalkan maklumat identiti pengguna semasa pelbagai interaksi antara pengguna dan pelayan. 2. Pelayan menjana dan menghantarnya kepada klien melalui kuki atau parameter URL untuk membantu mengenal pasti dan mengaitkan permintaan ini dalam pelbagai permintaan pengguna. 3. Generasi biasanya menggunakan algoritma rawak untuk memastikan keunikan dan ketidakpastian. 4. Dalam pembangunan sebenar, pangkalan data dalam memori seperti REDIS boleh digunakan untuk menyimpan data sesi untuk meningkatkan prestasi dan keselamatan.

Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Bagaimanakah anda mengendalikan sesi dalam persekitaran tanpa kerakyatan (mis., API)?Apr 24, 2025 am 12:12 AM

Menguruskan sesi dalam persekitaran tanpa kerakyatan seperti API boleh dicapai dengan menggunakan JWT atau cookies. 1. JWT sesuai untuk ketiadaan dan skalabilitas, tetapi ia adalah saiz yang besar ketika datang ke data besar. 2.Cookies lebih tradisional dan mudah dilaksanakan, tetapi mereka perlu dikonfigurasikan dengan berhati -hati untuk memastikan keselamatan.

See all articles

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

Video Face Swap

Video Face Swap

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

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna