php分頁省略號
A. phpcms v9分頁省略號怎麼修改
1
首先,打開 phpcms\libs\functions\global.func.php 這個文件,找到文件第622行的分頁函數,復制一下,粘貼到默認分頁函數的下面,重新命名後保存。(筆者在此命名為:pages_new)
接著,注意這里根據自己的需求,修改分頁類的調用。這些東西你可以去後盾人看看,這樣你可以了解的更加詳細
B. php分頁,限制顯示的頁數,顯示5頁,第一頁是12345,點擊下一頁時顯示678910,這個怎麼做
你在頁面輸出的時候是把數組的key+1當成序號輸出的吧。。你獲取當前頁數據要用到limit(offset, length)對吧,你只要把key+1+offset就行啦
C. php+mysql分頁問題,分頁實現後,頁碼太多,如何僅顯示前10頁
php 和html 混編 看起來真是 DT
文件名為t1.php 已經過調試 沒有加錯誤捕捉 表名 tttt
<?php
header("Content-Type:text/html;charset=utf-8");
$dbhost="127.0.0.1";
$dbuser="root";
$dbpwd="*****";
$dbname="*****";
$charName="'UTF8'";//設置查詢字元集gbk,gbk2312,utf-8
$mysqli=newmysqli($dbhost,$dbuser,$dbpwd,$dbname);
if(mysqli_connect_errno()){//注意mysqli_connect_error()新特性
die('Unabletoconnect!').mysqli_connect_error();
}
$sql="SETNAMES".$charName;
$mysqli->query($sql);
$perNumber=50;//每頁顯示的記錄數
$page=isset($_GET['page'])?$_GET['page']:1;//獲得當前的頁面值
//echo$page;
$sql="selectcount(*)ascountfromtttt";
$rs=$mysqli->query($sql);//獲得記錄總數
$row=mysqli_fetch_array($rs,MYSQLI_ASSOC);
$totalNumber=$row['count'];
$totalPage=ceil($totalNumber/$perNumber);//計算出總頁數
$startCount=($page-1)*$perNumber;//分頁開始,根據此方法計算出開始的記錄
$result=$mysqli->query("select*fromttttorderbyiddesclimit$startCount,$perNumber");//根據前面的計算出開始的記錄和記錄數
$maxPageCount=10;
$buffCount=5;
$startPage=1;
if($page<$buffCount){
$startPage=1;
}elseif($page>=$buffCountand$page<$totalPage-$maxPageCount){
$startPage=$page-$buffCount+1;
}else{
$startPage=$totalPage-$maxPageCount+1;
}
$endPage=$startPage+$maxPageCount-1;
$htmlstr="";
$line=1;
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$htmlstr.=$line."行";
$htmlstr.=$row['id']."</br>";
$line++;
}
$htmlstr.="<table><tr>";
if($page>1){
$htmlstr.="<td><ahref='t1.php?page=".1."'>第一頁</a></td>";
$htmlstr.="<td><ahref='t1.php?page=".($page-1)."'>上一頁</a></td>";
}
for($i=$startPage;$i<=$endPage;$i++){
$htmlstr.="<td><ahref='t1.php?page=".$i."'>".$i."</a></td>";
}
if($page<$totalPage){
$htmlstr.="<td><ahref='t1.php?page=".($page+1)."'>下一頁</a></td>";
$htmlstr.="<td><ahref='t1.php?page=".$totalPage."'>最後頁</a></td>";
}
$htmlstr.="</tr></table>";
echo$htmlstr;
?>
D. PHP指字元數量截斷,在後面加上省略號。
strsub 截會出現亂碼,因為他是按位元組來截取的,而GBK漢字是2個位元組,字母或數字是一個位元組,例如你選了截取10個,當中有一個字母,其它是漢字,那麼最後一個就會是亂碼
mb_strsub 這個不會,只是有一點不好,會把數字和字母當做一個字元來算
E. php顯示指定長度的字元串,超出長度以省略號填補尾部
例子1,使用strlen獲得長度,substr提取前5個字元:
$str='123456789';
if(strlen($str)>5)$str=substr($str,0,5).'...';
echo$str;
例子2,使用explode拆分IP,然後組裝:
$ip='192.168.0.1';
list($ip1,$ip2,$ip3)=explode('.',$ip);
$ip="*-*-$ip3-$ip4";
echo$ip;
F. PHP 帶省略號的分頁程序,原理是什麼 分頁程序我已經寫出來了,但是那個省略號 演算法 和原理沒弄懂
這個省略號不是直接加上去的嗎?
比如1,2,3,4.......
這個你加個判斷啊,超過4頁echo 省略號
如果要跳轉加個鏈接,設置個頁碼5不就可以了
如果是點了之後出現5,6,7,8這樣的
就echo出個JS代碼,
比如省略號一個層,5,6,7,8一個層,點一下隱藏掉省略號,出現5,6,7,8的層
G. PHP 分頁代碼 省略號"..."顯示位置不對~代碼貼出來了~高手幫忙看看!
初略看下,似乎是css問題,你確認顯示的html源碼...在後面嗎?先看看html源代碼吧
H. php使用mysql資料庫分頁顯示100頁,怎麼只輸出前後5頁的超鏈接,中間的用省略號顯示
這個得用程序去判斷,根據每頁顯示的記錄條數和記錄總數做處理,給你個思路吧。
functiongetTotalPagesStr($total,$maxPageItems){
$totalPages=0;
if($total%$maxPageItems==0){
$totalPages=$total/$maxPageItems;
if($totalPages==0)
$totalPages=1;
}
else{
$totalPages=(int)($total/$maxPageItems)+1;
}
return'<span>共'.$total.'條記錄,'.$totalPages.'頁</span>';
}
functiongetTotalPages($total,$maxPageItems){
$totalPages=0;
if($total%$maxPageItems==0){
$totalPages=$total/$maxPageItems;
if($totalPages==0)
$totalPages=1;
}
else{
$totalPages=(int)($total/$maxPageItems)+1;
}
return$totalPages;
}
functiongetPageUrl($page){
$url=$_SERVER['PHP_SELF'];
$i=0;
$queryStr='';
foreach($_GETas$key=>$value)
{
if($key!='page'){
if($i==0){
if(is_array($value)){
$j=0;
foreach($valueas$simpleValue){
if($j==0){
$queryStr=$queryStr.'?'.$key.'[]='.$simpleValue;
}
else{
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
$j++;
}
}
else{
$queryStr=$queryStr.'?'.$key.'='.$value;
}
}
else{
if(is_array($value)){
foreach($valueas$simpleValue){
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
}
else{
$queryStr=$queryStr.'&'.$key.'='.$value;
}
}
$i++;
}
}
foreach($_POSTas$key=>$value)
{
if($key!='page'&&$key!='submit'){
if($i==0){
if(is_array($value)){
$j=0;
foreach($valueas$simpleValue){
if($j==0){
$queryStr=$queryStr.'?'.$key.'[]='.$simpleValue;
}
else{
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
$j++;
}
}
else{
$queryStr=$queryStr.'?'.$key.'='.$value;
}
}
else{
if(is_array($value)){
foreach($valueas$simpleValue){
$queryStr=$queryStr.'&'.$key.'[]='.$simpleValue;
}
}
else{
$queryStr=$queryStr.'&'.$key.'='.$value;
}
}
$i++;
}
}
if($i!=0){
return$url.$queryStr.'&page='.$page;
}
return$url.'?page='.$page;
}
functiongetPageDisplay($total,$maxPageItems,$currentPage,$maxShowPages,
$pageSeparator){
$totalPages=getTotalPages($total,$maxPageItems);
$pageDispayStr='';
$ppage=0;
$startPage=0;
$endPage=0;
if($currentPage%$maxShowPages==0)
$ppage=(int)($currentPage/$maxShowPages)-1;
else
$ppage=(int)($currentPage/$maxShowPages);
$startPage=$ppage*$maxShowPages+1;
if($totalPages<=($ppage+1)*$maxShowPages){
$endPage=$totalPages;
}
else{
$endPage=($ppage+1)*$maxShowPages;
}
if($totalPages>$maxShowPages){
if($currentPage==1){
$pageDispayStr=$pageDispayStr.'<span>[第一頁/上一頁]</span>';
}
else{
$pageDispayStr=$pageDispayStr.'[<ahref=''.getPageUrl(1).''>第一頁</a>/';
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($currentPage-1).''>上一頁</a>]';
}
}
if($startPage==1){
$pageDispayStr=$pageDispayStr.'<span><</span>';
}
else{
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($startPage-1).''><<</a>';
}
for($i=$startPage;$i<=$endPage;$i++){
if($i!=$currentPage){
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($i).''>'.$i.'</a>';
if($i!=$endPage){
$pageDispayStr=$pageDispayStr.$pageSeparator;
}
$pageDispayStr=$pageDispayStr.'';
}
else{
$pageDispayStr=$pageDispayStr.'<spanclass="current">'.$i.'</span>';
if($i!=$endPage){
$pageDispayStr=$pageDispayStr.$pageSeparator;
}
$pageDispayStr=$pageDispayStr.'';
}
}
if($endPage==$totalPages){
$pageDispayStr=$pageDispayStr.'<span>>></span>';
}
else{
$pageDispayStr=$pageDispayStr.'<ahref=''.getPageUrl($endPage+1).''>>></a>';
}
if($totalPages>$maxShowPages){
if($currentPage==$totalPages){
$pageDispayStr=$pageDispayStr.'<span>[下一頁/最後一頁]</span>';
}
else{
$pageDispayStr=$pageDispayStr.'[<ahref=''.getPageUrl($currentPage+1).''>下一頁</a>';
$pageDispayStr=$pageDispayStr.'/<ahref=''.getPageUrl($totalPages).''>最後一頁</a>]';
}
}
returngetTotalPagesStr($total,$maxPageItems).$pageDispayStr;
}
I. php中數據內容過長怎麼用省略號表示
echo substr($a,0,7)."...";
echo substr_replace("Hello world","...",6);
因為中英文字元數目不一樣,建議寫一個方法類進行邏輯判斷
J. 如何縮略數字分頁php
給你一段現成的吧
/*
數字分頁代碼
參數:
$page number 當前頁號
$pageSize number 顯示頁號的個數
$pageNum number 數據總分頁數
$link string 分頁鏈接地址
$linkparam string 分頁鏈接參數
$linkclass string 分頁鏈接樣式
*/
function PagerNum($page=0,$pageNum=0,$pageCount=0,$link,$linkparam,$linkclass){
$pages = ceil($pageCount/$pageNum);
/*
Step:
1.先求當前頁所處分頁的位置段!即若每段分5頁,那麼23就處在21-25之間.
2.向前翻頁時,檢查當前頁是否小於等於1,若是則不再向前分頁,不是則根據段數向前分頁
3.向後翻頁時,檢查當前頁是否處在最後一段,若不是,以省略號表示,若是,顯示最後一段頁號
*/
$pos = intval($page/$pageNum);
$html_code="";
$start = $pos*$pageNum;
$end = $start+$pageNum;
if ($end>$pageCount) {
$end = $pageCount;
}
if ($start>1) {
$html_code .= "<a class='$linkclass' href='$link?page=1&$linkparam'>|<</a>";
$html_code .= "<a class='$linkclass' href='$link?page=".($start-1)."&$linkparam'><<</a>";
}
for ($i=$start;$i<=$end;$i++){
if ($i>0) {
if ($i==$page) {
$html_code.="<a class='$linkclass' href='$link?page=$i&$linkparam'><b style='color:red'>$i</b></a>";
}else{
$html_code.="<a class='$linkclass' href='$link?page=$i&$linkparam'>$i</a>";
}
}
}
if ($end<$pageCount) {
$html_code .= "<a class='$linkclass' href='$link?page=".($end+1)."&$linkparam'>>></a>";
$html_code .= "<a class='$linkclass' href='$link?page=$pageCount&$linkparam'>>|</a>";
}
if ($pageCount>0) {
$html_code = "<a class='$linkclass' href='javascript:void(0)'>$page/$pageCount</a>".$html_code;
}
return $html_code;
}