php - 如何在标题标签中添加分页编号

标签 php mysql pagination

这是分页代码,它的工作原理很好,分页显示如下 url mywebsite.com/samplepage.php?page=1 等等..代码是

<?php
    include"config.php";


function pagination($query,$per_page=10,$page=1,$url='?'){   
    global $conn; 

    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysqli_fetch_array(mysqli_query($conn,$query));

    $total = $row['num'];
    $adjacents = "2"; 

    $prevlabel = "&lsaquo; Prev";
    $nextlabel = "Next &rsaquo;";
    $lastlabel = "Last &rsaquo;&rsaquo;";

    $page = ($page == 0 ? 1 : $page);  
    $start = ($page - 1) * $per_page;                               

    $prev = $page - 1;                          
    $next = $page + 1;

    $lastpage = ceil($total/$per_page);

    $lpm1 = $lastpage - 1; // //last page minus 1

    $pagination = "";

    if($lastpage > 1){   

        $pagination .= "<ul class='pagination'>";
        $pagination .= "<li class='page_info'>Page {$page} of {$lastpage}</li>";

        if ($page > 1) $pagination.= "<li><a href='{$url}page={$prev}'>{$prevlabel}</a></li>";



        if ($lastpage < 7 + ($adjacents * 2)){   

            for ($counter = 1; $counter <= $lastpage; $counter++){

                if ($counter == $page)
                    $pagination.= "<li><a class='current'>{$counter}</a></li>";
                else
                    $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    

            }

        } elseif($lastpage > 5 + ($adjacents * 2)){

            if($page < 1 + ($adjacents * 2)) {

                for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){

                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    

                }

                $pagination.= "<li class='dot'>...</li>";
                $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";  

            } elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) {

                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>...</li>";

                for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {

                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    
                }

                $pagination.= "<li class='dot'>..</li>";
                $pagination.= "<li><a href='{$url}page={$lpm1}'>{$lpm1}</a></li>";
                $pagination.= "<li><a href='{$url}page={$lastpage}'>{$lastpage}</a></li>";      
            } else {
                $pagination.= "<li><a href='{$url}page=1'>1</a></li>";
                $pagination.= "<li><a href='{$url}page=2'>2</a></li>";
                $pagination.= "<li class='dot'>..</li>";
                for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) {

                    if ($counter == $page)
                        $pagination.= "<li><a class='current'>{$counter}</a></li>";
                    else
                        $pagination.= "<li><a href='{$url}page={$counter}'>{$counter}</a></li>";                    

                }
            }
        }
        if ($page < $counter - 1) {

            $pagination.= "<li><a href='{$url}page={$next}'>{$nextlabel}</a></li>";
                $pagination.= "<li><a href='{$url}page=$lastpage'>{$lastlabel}</a></li>";
        }
        $pagination.= "</ul>";        
    }
    return $pagination;
}
?>

我想在标题中添加页码,如下所示..

详细信息 - 第 24 页 或 详细信息 - 第 24 页,共 200 页(总页数)

我可以更新这个分页代码吗?此代码显示数据库中的全部数据,但如果我想显示表中单行的分页。来自“关键字”行的表..但我的主要问题是如何在标题中显示页码..提前致谢

最佳答案

要向您的网站添加标题,您需要在 html 头部添加 <title></title> 标签。

你可能会做类似的事情

<title>Page <?php echo $pagination ?> of <?php echo $total ?></title>

如果您想即时更改它,您可以使用 javascript ( link )

document.title = currentPage+" of "+total;

关于php - 如何在标题标签中添加分页编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52874512/

相关文章:

php - 在wordpress模板中添加自定义导航菜单

php - 在Linux上从PHP连接到MS Access数据库

mysql - 安装mongodb 2.4.14和mysql后报错

php - 如何优化跨 2 个 MySQL 表的值搜索?

php - 使用 Twig 渲染 CSS 文件

javascript - 日期未在数据库中保存正确的值

MySQL 复制最佳实践

python - 如何检查查询集是否为空?

php - 如何在 PHP 分页中正确使用 COUNT?

php - 分页在 CodeIgniter 中不起作用?