Php 用页码分页?

Php 用页码分页?,php,mysql,pagination,Php,Mysql,Pagination,我有一个从Mysql数据库动态填充的页面 为了避免一次显示太多信息,我在页面中添加了分页 使用此代码 $currentPage=$\u服务器[“PHP\u SELF”]; $maxRows_atoz=10$page=0; if(isset($_GET['page']){$page=$_GET['page'];} $startRow_atoz=$page*$maxRows_atoz; mysql\u select\u db($database\u main,$main); $query_atoz

我有一个从Mysql数据库动态填充的页面

为了避免一次显示太多信息,我在页面中添加了分页

使用此代码

$currentPage=$\u服务器[“PHP\u SELF”];
$maxRows_atoz=10$page=0;
if(isset($_GET['page']){$page=$_GET['page'];}
$startRow_atoz=$page*$maxRows_atoz;
mysql\u select\u db($database\u main,$main);
$query_atoz=“从主标题中选择*,如“A%”;
$query\u limit\u atoz=sprintf(“%s limit%d,%d”,$query\u atoz、$startRow\u atoz、$maxRows\u atoz);
$atoz=mysql\u query($query\u limit\u atoz,$main)或die(mysql\u error());
$row\u atoz=mysql\u fetch\u assoc($atoz);
if(isset($_-GET['totalRows\u-atoz']){$totalRows\u-atoz=$_-GET['totalRows\u-atoz'];}else{$all\u-atoz=mysql\u-query($query\u-atoz);$totalRows\u-atoz=mysql\u-num-rows($all\u-atoz);}
$totalPages\u atoz=ceil($totalRows\u atoz/$maxRows\u atoz)-1;
$queryString_atoz=“”;如果(!empty($_SERVER['QUERY_STRING']){$params=explode(&),$_SERVER['QUERY_STRING']);$newParams=array();foreach($params as$param){
if(stristr($param,“pageNum_atoz”)==false和&stristr($param,“totalRows_atoz”)==false){array_push($newParams,$param);}
如果(count($newParams)!=0){$queryString_atoz=“&”.htmlentities(内爆(&“,$newParams));}
$queryString\u atoz=sprintf(&totalRows\u atoz=%d%s,$totalRows\u atoz,$queryString\u atoz);
?>
该代码可以对结果进行分页,但有一个限制。 它当前仅显示“下一步”和“上一步”按钮

我想添加页码。这样,用户就可以跳转到结果集中的第4页或第5页,而不必按“下一步”按钮4或5次

那么,有人能告诉我怎么做吗


谢谢

我必须说,我还没有看完你的全部代码。您必须缩进代码以帮助他人。如果我答对了你的问题,下面的内容可能会对你有所帮助。我没有注意到更多的细节。这只是给你一个想法。:-)


谢谢你的主人,你的代码可以正常工作。页码仅在单击“下一步”按钮后显示,而不是立即显示。所以当$currentPage=?page=06时,我看到了第1页、第2页、第3页、第4页、第5页。但是,如果$currentPage=?page=01,则不会显示任何内容。因此,用户没有向前跳过的选项。希望这是有道理的。
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_atoz = 10; $page= 0;
if (isset($_GET['page'])) {$page= $_GET['page'];}
$startRow_atoz = $page* $maxRows_atoz;

mysql_select_db($database_main, $main);
$query_atoz = "SELECT * FROM main WHERE title LIKE 'A%'"; 
$query_limit_atoz = sprintf("%s LIMIT %d, %d", $query_atoz, $startRow_atoz, $maxRows_atoz);
$atoz = mysql_query($query_limit_atoz, $main) or die(mysql_error());
$row_atoz = mysql_fetch_assoc($atoz);

if (isset($_GET['totalRows_atoz'])) {$totalRows_atoz = $_GET['totalRows_atoz'];} else {$all_atoz = mysql_query($query_atoz); $totalRows_atoz = mysql_num_rows($all_atoz);}
$totalPages_atoz = ceil($totalRows_atoz/$maxRows_atoz)-1;
$queryString_atoz = ""; if (!empty($_SERVER['QUERY_STRING'])) {$params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) {
if (stristr($param, "pageNum_atoz") == false && stristr($param, "totalRows_atoz") == false) {array_push($newParams, $param);}}
if (count($newParams) != 0) {$queryString_atoz = "&" . htmlentities(implode("&", $newParams));}}    
$queryString_atoz = sprintf("&totalRows_atoz=%d%s", $totalRows_atoz, $queryString_atoz);

?>

<ul>
<li class="previous"> <?php if ($page > 0) { // Show if not first page ?>
<a title="See Previous 10 Results" href="<?php printf("?page=%d%s", $currentPage, max(0, $page - 1), $queryString_atoz); ?>">
<img src="/files/previous.png" /></a>
<?php } // Show if not first page ?></li>
<li class="next">  <?php if ($page < $totalPages_atoz) { // Show if not last page ?>
<a title="See Previous 10 Results" href="<?php printf("?page=%d%s", $currentPage, min($totalPages_atoz, $page + 1), $queryString_atoz); ?>">
<img src="/files/next.png" /></a>
<?php } // Show if not last page ?></li>
</ul>
<ul>
<li class="previous">
<?php if ($page > 0) { // Show if not first page ?>
<a title="See Previous 10 Results" href="<?php printf("?page=%d%s", $currentPage, max(0, $page - 1),$queryString_atoz); ?>">
<img src="/files/previous.png" /></a>
<?php } // Show if not first page ?></li>
<!--MODIFY_BEGIN-->
<li>
<?php for ($i=0;$i<$page; $i++){
    if ($currentPage==$i)
        echo ($currentPage+1);
    else
        echo "<a title='Page $i' href='?page=$i'>Page $i</a>";
} ?>

</li>
<!--MODIFY_END-->
<li class="next">  <?php if ($page < $totalPages_atoz) { // Show if not last page ?>
<a title="See Previous 10 Results" href="<?php printf("?page=%d%s", $currentPage, min($totalPages_atoz, $page + 1), $queryString_atoz); ?>">
<img src="/files/next.png" /></a>
<?php } // Show if not last page ?></li>
</ul>