PHP分页截断页面列表

PHP分页截断页面列表,php,html,mysql,Php,Html,Mysql,更新以包含完整代码 我从数据库中提取记录,然后每页显示5条,如下所示: $num_rec_per_page=5; if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; $start_from = ($page-1) * $num_rec_per_page; $school = $_REQUEST['school']; $sql = "SELECT * FROM `data` WHERE `sc

更新以包含完整代码

我从数据库中提取记录,然后每页显示5条,如下所示:

$num_rec_per_page=5;

if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1;   }; 

$start_from = ($page-1) * $num_rec_per_page; 
$school = $_REQUEST['school'];
$sql = "SELECT * FROM `data` WHERE `school` LIKE '%$school%'";
$rs_result = mysql_query($sql);
$total_records = mysql_num_rows($rs_result);  //count number of records
$total_pages = ceil($total_records / $num_rec_per_page); 

for ($i=1; $i<=$total_pages; $i++) { 
        echo "<a href='search.php?school=".urlencode($school)."&page=".$i."'>".$i."</a>";
}; 
我想做的是:

<Prev 1 2 3 4....53 54 55 Next>

选择
查询中使用
限制
偏移
子句来实现分页

以下是参考资料:

因此,您的代码应该如下所示:

$num_rec_per_page = 5;

if(isset($_GET["page"])){ 
    $page  = $_GET["page"]; 
}else{ 
    $page=1;  
} 

$offset = ($page - 1) * $num_rec_per_page; 
$school = $_GET['school'];
$sql = "SELECT * FROM `data` WHERE `school` LIKE '%" . $school. "%' LIMIT 5 OFFSET " . $offset;
$rs_result = mysql_query($sql);
$total_records = mysql_num_rows($rs_result);  //count number of records
$total_pages = ceil($total_records / $num_rec_per_page); 

for ($i=1; $i<=$total_pages; $i++){ 
    if($i != 1){
        $prev_page = $i - 1;
        echo "<a href='search.php?school=".urlencode($school)."&page=" . $prev_page ."'>&lt;prev</a>";
    }
    echo " <a href='search.php?school=".urlencode($school)."&page=".$i."'>".$i."</a>";
    if($i != $total_pages){
        $next_prev = $i + 1;
        echo " <a href='search.php?school=".urlencode($school)."&page=" . $next_page ."'>next&gt;</a>";
    }
} 
$num\u rec\u每页=5;
如果(isset($_GET[“page”]){
$page=$_GET[“page”];
}否则{
$page=1;
} 
$offset=($page-1)*$num\u rec\u每页;
$school=$_GET['school'];
$sql=“从`data`中选择*,其中`school`类似于“%”$学校“%”限制5个偏移量$抵消;
$rs\u result=mysql\u查询($sql);
$total\u records=mysql\u num\u行($rs\u result)//统计记录数
$total_pages=ceil($total_records/$num_rec_/页);

对于($i=1;$iFrom这些
来自何处?它是一个链接吗?无论如何,要根据所需的行为生成数字链接,您只需要一个空格。因此您的echo语句应该是这样的,
echo“”
welcome@RajdeepPaul-这就是问题所在;用户当前正在获取完整的链接列表,并希望获得一些链接,这些链接将根据我们在分页中的位置而改变。不幸的是,它太宽,因此脱离主题。@andrewsi是的,代码也不足以支持此问题。
$num_rec_per_page = 5;

if(isset($_GET["page"])){ 
    $page  = $_GET["page"]; 
}else{ 
    $page=1;  
} 

$offset = ($page - 1) * $num_rec_per_page; 
$school = $_GET['school'];
$sql = "SELECT * FROM `data` WHERE `school` LIKE '%" . $school. "%' LIMIT 5 OFFSET " . $offset;
$rs_result = mysql_query($sql);
$total_records = mysql_num_rows($rs_result);  //count number of records
$total_pages = ceil($total_records / $num_rec_per_page); 

for ($i=1; $i<=$total_pages; $i++){ 
    if($i != 1){
        $prev_page = $i - 1;
        echo "<a href='search.php?school=".urlencode($school)."&page=" . $prev_page ."'>&lt;prev</a>";
    }
    echo " <a href='search.php?school=".urlencode($school)."&page=".$i."'>".$i."</a>";
    if($i != $total_pages){
        $next_prev = $i + 1;
        echo " <a href='search.php?school=".urlencode($school)."&page=" . $next_page ."'>next&gt;</a>";
    }
}