PHP分页显示结果
我使用下面的PHP代码在PHP搜索页面上显示以下文本,每页显示6个结果 显示x-x/x结果 这可以正常工作,但第一页显示:显示0-6而不是1-6的x结果,我在代码中很难更改这一点 如果没有找到结果,我还需要更改消息。即显示0结果PHP分页显示结果,php,Php,我使用下面的PHP代码在PHP搜索页面上显示以下文本,每页显示6个结果 显示x-x/x结果 这可以正常工作,但第一页显示:显示0-6而不是1-6的x结果,我在代码中很难更改这一点 如果没有找到结果,我还需要更改消息。即显示0结果 echo $paginate; } public function addPaginationInfo() { $lastpage = ceil($this->total_pages/$this->limit); $LastPagem1 =
echo $paginate;
}
public function addPaginationInfo() {
$lastpage = ceil($this->total_pages/$this->limit);
$LastPagem1 = $lastpage - 1;
$paginate = '<div><div style="color:#333">Showing<span style="color:#3E7CB3"> '.$this->limit_sql_start.'-'.$this->limit_sql_end.' </span>of <span style="color:#3E7CB3">'.$this->total_pages.'</span> Results</div></div>';
echo $paginate;
}
echo$paginate;
}
公共函数addPaginationInfo(){
$lastpage=ceil($this->total_pages/$this->limit);
$LastPagem1=$lastpage-1;
$paginate='Showing'.$this->limit\u sql\u start'.-'.$this->limit\u sql\u end.'of'.$this->total\u pages.'Results';
echo$paginate;
}
这是完整的分页代码
public function executePagination(){
$db = DB::get_db();
$this->buildQuery();
$db->query(self::BASEQUERY,
$this->fields_sql,
$this->table_sql,
$this->where_sql,
$this->order_sql,
$this->limit_sql);
$this->total_pages = $db->num_rows();
if(isset($_GET['page'])) {
$page = strip_tags(mysql_escape_string($_GET['page']));
} else { $page = FALSE; }
if($page){
$start = ($page - 1) * $this->limit;
} else {
$start = 0;
}
$this->limit_sql_start = $start;
if($this->total_pages > $this->limit+$start) {
$this->limit_sql_end = $this->limit+$start;
} else {
$this->limit_sql_end = $this->total_pages;
}
$this->setLimit(" LIMIT $start, $this->limit ");
$db->query(self::BASEQUERY,
$this->fields_sql,
$this->table_sql,
$this->where_sql,
$this->order_sql,
$this->limit_sql);
return $db->fetch_rows();
}
public function addPaginationLinks() {
$targetpage = "";
if(isset($_GET['page'])) {
$page = strip_tags(mysql_escape_string($_GET['page']));
} else { $page = FALSE; }
if ($page == 0){$page = 1;}
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($this->total_pages/$this->limit);
$LastPagem1 = $lastpage - 1;
$paginate = '';
if($lastpage > 1)
{
$paginate .= "<div class='paginate'>";
if ($page > 1){
$paginate.= "<a href='$targetpage?page=$prev'>Back</a>";
}else{
$paginate.= ""; }
if ($lastpage < 7 + ($this->stages * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<a class='current'>$counter</a>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
}
elseif($lastpage > 5 + ($stages * 2))
{
if($page < 1 + ($this->stages * 2))
{
for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
{
if ($counter == $page){
$paginate.= "<a class='current'>$counter</a>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
}
elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
{
if ($counter == $page){
$paginate.= "<a class='current'>$counter</a>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>";
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";
}
else
{
$paginate.= "<a href='$targetpage?page=1'>1</a>";
$paginate.= "<a href='$targetpage?page=2'>2</a>";
$paginate.= "...";
for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<a class='current'>$counter</a>";
}else{
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}
} } }
if ($page < $counter - 1){
$paginate.= "<a href='$targetpage?page=$next'>Next</a>";
}else{
$paginate.= "<a class='disabled'>Next</a>";
}
$paginate.= "</div>";
}
public function executePagination(){
$db=db::get_db();
$this->buildQuery();
$db->query(self::BASEQUERY,
$this->fields\u sql,
$this->table_sql,
$this->where\u sql,
$this->order\u sql,
$this->limit\u sql);
$this->total_pages=$db->num_rows();
如果(isset($_GET['page'])){
$page=strip_标记(mysql_escape_字符串($_GET['page']);
}else{$page=FALSE;}
如果($页){
$start=($page-1)*$this->limit;
}否则{
$start=0;
}
$this->limit\u sql\u start=$start;
如果($this->total_pages>$this->limit+$start){
$this->limit\u sql\u end=$this->limit+$start;
}否则{
$this->limit\u sql\u end=$this->total\u pages;
}
$this->setLimit(“LIMIT$start,$this->LIMIT”);
$db->query(self::BASEQUERY,
$this->fields\u sql,
$this->table_sql,
$this->where\u sql,
$this->order\u sql,
$this->limit\u sql);
返回$db->fetch_rows();
}
公共函数addPaginationLinks(){
$targetpage=“”;
如果(isset($_GET['page'])){
$page=strip_标记(mysql_escape_字符串($_GET['page']);
}else{$page=FALSE;}
如果($page==0){$page=1;}
$prev=$page-1;
$next=$page+1;
$lastpage=ceil($this->total_pages/$this->limit);
$LastPagem1=$lastpage-1;
$paginate='';
如果($lastpage>1)
{
$paginate.=“”;
如果($page>1){
$paginate.=“”;
}否则{
$paginate.='';}
如果($lastpage<7+($this->stages*2))
{
对于($counter=1;$counter 5+($stages*2))
{
如果($page<1+($this->stages*2))
{
对于($counter=1;$counter<4+($stages*2);$counter++)
{
如果($counter==$page){
$paginate.='';}
}
$paginate.=“…”;
$paginate.=“”;
$paginate.=“”;
}
elseif($lastpage-($stages*2)>$page&&$page>($stages*2))
{
$paginate.=“”;
$paginate.=“”;
$paginate.=“…”;
对于($counter=$page-$stages;$counter更改此行
$paginate = '<div><div style="color:#333">Showing<span style="color:#3E7CB3"> '.$this->limit_sql_start.'-'.$this->limit_sql_end.' </span>of <span style="color:#3E7CB3">'.$this->total_pages.'</span> Results</div></div>';
$paginate='Showing'.$this->limit\u sql\u start.-'.$this->limit\u sql\u end.'of'.$this->total\u pages.'Results';
对,
if($this->limit\u sql\u end>0)
{
$paginate='Showing'.$this->limit\u sql\u start'.-'($this->limit\u sql\u end+1)。'of'.$this->total\u pages.'Results';
}
其他的
$paginate='显示0个结果';
if($this->limit_sql_end > 0)
{
$paginate = '<div><div style="color:#333">Showing<span style="color:#3E7CB3"> '.$this->limit_sql_start.'-'.($this->limit_sql_end + 1).' </span>of <span style="color:#3E7CB3">'.$this->total_pages.'</span> Results</div></div>';
}
else
$paginate = '<div><div style="color:#333">Showing 0 Results</div></div>';