我的代码显示一页上的所有页数。我想限制页数?
我的代码是
$start_date = $_REQUEST['date1'];
$end_date = $_REQUEST['date2'];
$condition="1=1";
if ($start_date!="")
$condition.=" AND event_date>='".date( "Y-m-d", strtotime($start_date))."'";
if ($end_date!="")
$condition.=" AND event_date<='".date( "Y-m-d", strtotime($end_date))."'";
$start_date = date( "Y-m-d", strtotime($start_date));
$end_date = date( "Y-m-d", strtotime($end_date));
$link = mysql_connect('localhost', 'username', 'password');
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
if ($_REQUEST["orderby"]!="") $ord = " ORDER BY ".$_REQUEST["orderby"];
if ($_REQUEST["dir"]!="") $ord .= " ".$_REQUEST["dir"];
mysql_select_db("intern_db", $link);
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;
$recordPerPage= '30';
$startPoint = ($page - 1)*$recordPerPage;
$result = mysql_query("SELECT count(*) cnt FROM ` admin_crmf_poc_event_history` where $condition");
$row = mysql_fetch_array($result);
$num_rows = $row["cnt"];
$result = mysql_query("SELECT * FROM ` admin_crmf_poc_event_history` where $condition $ord LIMIT $startPoint,$recordPerPage");
$totalPages=ceil($num_rows/$recordPerPage);
if ($page > 1) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page- 1).'&date1='.$_REQUEST["date1"].'&date2='.$_REQUEST["date2"].'">Previous</a>';
}
for ($i = 1; $i < $totalPages; $i++) {
echo ' <a href="'.$_SERVER['PHP_SELF'].'?page= '. $i .'&date1='.$_REQUEST["date1"].'&date2='.$_REQUEST["date2"].'">' . $i . '</a> ';
}
if ($page < $totalPages ) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='. ($page+1).'&date1='.$_REQUEST["date1"].'&date2='.$_REQUEST["date2"].'">Next</a>';
}
echo "<br>";
echo "you are in $page page";
mysql_close($link);
我希望像previous 1 2 3 4 5 6 7 8 9 10 next
一样展示。
当我点击下一步时,它将显示11到20之间的其他10页,依此类推
答案 0 :(得分:1)
关于如何执行此操作,有数百个教程。你尝试过谷歌搜索吗?
https://www.google.co.uk/search?q=php+mysql+pagination
以下是一些例子:
等...
答案 1 :(得分:1)
当我评论你的问题时,你的代码中有A LOT
个问题,所以最好使用一些就绪函数/类:)只搜索它..
我怎么能给你简单的方式展示你想要的东西..
用你的代码替换你的FOR循环,没关系:)
$start = ( floor($page/10) * 10 ) + 1;
for( $i = $start; $i < $totalPages; $i++){
if( $i >= ($start + 10)){
break;
}
echo ' <a href="'.$_SERVER['PHP_SELF'].'?page= '. $i .'&date1='.$_REQUEST["date1"].'&date2='.$_REQUEST["date2"].'">' . $i . '</a> ';
}
但真的SECURE YOUR CODE
!!!
1st - 不推荐使用MYSQL_函数使用mysqli或PDO ..
第二步 - ESCAPE查询中的所有变量..
3 - 考虑使用更灵活的工作方法(功能/对象......)