php中怎么手动设置每页显示按条数

足球不是方的 2012-04-09 11:18:35
<html>
<head>
<title>留言板</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<center>
<h1>留言板</h1>
</center>
<table width="90%" border="0" align="center">


<?php
$mylink=mysql_connect("localhost","root","998121021");
mysql_select_db("liuyan",$mylink);
$sql="select * from data order by time";
$result=mysql_query($sql);

$message_count=mysql_num_rows($result);
$i=$message_count-1;
$page_size=1;
$page=$_GET['page'] ? $_GET['page'] : 1;
$page_count=ceil($message_count/$page_size);
if($page<1) $page=1;
if($page>$page_count) $page=$page_count;
$offset=($page-1)*$page_size;
$sql1="select * from data order by time limit $offset,$page_size";
$result1=mysql_query($sql1);


while($myarray=mysql_fetch_array($result1)){
extract($myarray);
echo '<tr>';
echo '<td>'.($message_count-$i)."楼".'</td>';
echo '<td>'."用户名:".$name.'</td>';
echo '<td>'.'<a href=mailto:'.$email.'/>'.$email.'</td>';
echo '</tr>';
echo '<tr>';
echo '<td>'.$time.'</td>';
echo '</tr>';
echo '<td>'.$words.'</td>';
echo '</tr>';
echo '<tr>';
echo '<td colspan="2">'.'<hr color="black" width="100%">'.'</td>';
echo '</tr>';
$i--;
}



?>

</table>
<center>
每页条数:<input type="text" name="条/页" />
<intput type="submit" name="submit" value="显示" />
<?php
$pre_page=$page-1;
$next_page=$page+1;
echo "这是第".$page."页".'<br>';
$PATH_INFO=pathinfo("http://localhost:250/myphp编程/留言板的分页显示/留言板分页显示.php");
$PATH_INFO=$PATH_INFO['dirname'].'/'.$PATH_INFO['basename'];
if($page==1)
{
echo "第一页  上一页"."  ";
}
else
{
echo "<a href='$PATH_INFO?page=1'>第一页</a>";
echo " ";
echo "<a href='$PATH_INFO?page=$pre_page'>上一页</a>";
}
echo " ";
if($page==$page_count)
{
echo "下一页  最后一页  ";
}
else
{
echo "<a href='$PATH_INFO?page=$next_page'>下一页</a>";
echo " ";
echo "<a href='$PATH_INFO?page=$page_count'>最后一页</a>";
}

?>
</center>
</body>
</html>


以上代码可以完成分页的功能,但是怎么才能让用户手动设置每页显示留言的条数呢?在“submit”按钮那应该怎么写?
...全文
410 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
input是不是有个什么属性可以让输入的信息一直保留,直到用户在此改变?
[/Quote]
会话处理:

<?php
if(!empty($_GET)){
session_start();
$_SESSION['pagesize'] = $_GET['pagesize'];
}
?>

<input type="text" name="pagesize" value="<?=(!empty($_SESSION['pagesize']))?$_SESSION['pagesize']:1 ?>" />
<!-- 所有标签的name值强烈建议用英文表示 -->
一起混吧 2012-04-10
  • 打赏
  • 举报
回复
如果采用get方式传递。则点击下一页、下一页.....等都需要把page_size传递过去。
足球不是方的 2012-04-10
  • 打赏
  • 举报
回复
改了之后是能显示你输入的条数了,但是按下一页后还是会显示默认的条数,因为我代码里面有
if( isset($_GET['page_size']) && is_numeric($_GET['page_size']) )
$page_size = $_GET['page_size'];
else $page_size=$message_count;
这句,每次页面跳转,input里面就会被清空了,所以还是会显示默认值。
input是不是有个什么属性可以让输入的信息一直保留,直到用户在此改变?
求解释。
码无边 2012-04-10
  • 打赏
  • 举报
回复
select * from tablename limit 0,50;
select * from tablename limit 50,100;
楼主控制limit的值不就可以吗?
改一下昵称 2012-04-09
  • 打赏
  • 举报
回复
$page_size 就是每页显示的条数。
你可以加个form表单来提交用户的设置,给当前链接再增加一个page_size参数
<?php
// 默认值
$page_size=1;
// 如果url GET 参数中设置了每页显示条数
if( isset($_GET['page_size']) && is_numeric($_GET['page_size']) )
$page_size = $_GET['page_size'];
// ... 只是改动了源代码中 $page_size = 1 那行
?>

<form action="" method="get">
每页条数:<input type="text" name="page_size"/>
<input type="submit" value="显示" />
</form>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧