php分页集成脚本在输出中没有显示页面

ozxc1zmp  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(231)

您好,我是stackoverflow,
我是一个完全的新手,当谈到执行一个工作分页脚本。
这里我有一个php脚本,它从mysql表中取出数据并将其显示在网页上,这个脚本一直运行得很好,直到我决定给它添加一些分页。
除了未定义的“s”和“page”之外,没有其他错误,但是我认为更大的问题是$limit,因为大于71的数字会使未定义的错误消失(因为sqltable包含70个条目)。所以基本上,我很想从你那里得到一些帮助,找出我的脚本中有什么错误,它只是没有在输出中显示'页面'。
以下是您可能需要的一切:

$sql_conn = mysqli_connect( $sql_host, $sql_user, $sql_pass,$sql_db);
$zone="-14400"; //USA Time Zone
$targetpage = "advanced_bans.php";
$limit = 40;  // Entries Showed per page

// Start Pagination
$sql_query = "SELECT COUNT(*) as num FROM $stable";
$sql_res=mysqli_query($sql_conn,$sql_query);
$total_pages = mysqli_fetch_array($sql_res,MYSQLI_NUM);

# the number of pages

foreach ($sql_res as $res) {
    $num=$res['num'];
}
$total_pages=$num;

$stages = 3;
$start = 0;
$page = mysqli_real_escape_string($sql_conn , $_GET['page']);
if($page){
    $start = ($page - 1) * $limit;
}else{
    $start = 0;
}  
// Get page data

// Initial page num setup
if ($page == 0){$page = 1;}
$prev = $page - 1;
$next = $page + 1;                        
$lastpage = ceil($total_pages/$limit);    
$LastPagem1 = $lastpage - 1;                  

$paginate = '';
if($lastpage > 1)
{  

    $paginate .= "<div class='paginate'>";
    if ($page > 1){
        $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$prev'>previous</a>";
    }else{
        $paginate.= "<span class='disabled'>previous</span>";   }

    if ($lastpage < 7 + ($stages * 2))  // Not enough pages to breaking it up
    {  
        for ($counter = 1; $counter <= $lastpage; $counter++)
        {
            if ($counter == $page){
                $paginate.= "<span class='current'>$counter</span>";
            }else{
                $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$counter'>$counter</a>";}                  
        }
    }
    elseif($lastpage > 5 + ($stages * 2))   // Enough pages to hide a few?
    {
        if($page < 1 + ($stages * 2))      
        {
            for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
            {
                if ($counter == $page){
                    $paginate.= "<span class='current'>$counter</span>";
                }else{
                    $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$counter'>$counter</a>";}                  
            }
            $paginate.= "...";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$LastPagem1'>$LastPagem1</a>";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$lastpage'>$lastpage</a>";    
        }
        elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
        {
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=1'>1</a>";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=2'>2</a>";
            $paginate.= "...";
            for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
            {
                if ($counter == $page){
                    $paginate.= "<span class='current'>$counter</span>";
                }else{
                    $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$counter'>$counter</a>";}                  
            }
            $paginate.= "...";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$LastPagem1'>$LastPagem1</a>";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$lastpage'>$lastpage</a>";    
        }
        else
        {
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=1'>1</a>";
            $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=2'>2</a>";
            $paginate.= "...";
            for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
            {
                if ($counter == $page){
                    $paginate.= "<span class='current'>$counter</span>";
                }else{
                    $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$counter'>$counter</a>";}                  
            }
        }
    }

    // Next
    if ($page < $counter - 1){
        $paginate.= "<a href='$targetpage?s=".$_GET['s']."&page=$next'>next</a>";
    }else{
        $paginate.= "<span class='disabled'>next</span>";
    }

    $paginate.= "</div>";   }

希望我能从中学到一些东西,谢谢和问候,泽德

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题