扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你的页面跳转, 要把原来有的get参数一同传递下去!
目前创新互联已为上千余家的企业提供了网站建设、域名、虚拟空间、网站运营、企业网站设计、湘潭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
因为, 如果你第一页就是根据相关get参数查询的数据库, 而你在下一页没有提供这个参数, 当然会查询不到!
get参数是在当前页面有效的, 一般, get参数是url提供, 你url有就有, 没有就没有, 不是你提供一次, 人家就会给你保存一辈子!
例外, 你这个php文件, 功能其实很简单对吧?但你有没有觉得, 代码密密麻麻呢?
如果让你写一个大型网站, 那你的代码岂不是要用东风牌大卡车来装呢?
说明你点下一页的时候,查询条件没有获取到,下一页的是连接,所以接受数据参数的时候需要用$_GET 来接收,提交的时候也需要用get方法提交,这样才能保证参数不会丢失,点击下一页的时候限制条件保持一致
因为在点击分页链接时表单数据不会传递会丢失而导致分页链接无效 解决的方法有几种。 第一种是用网站管理软件把搜索结果生成静态页面并保存一段时间。 第二种是考虑用session传递搜索信息。 当搜索信息表单提交并验证之后开启session. session_start(); $_SESSION[keywords] = $X; $_SESSION[searchscope] = $Y; ... //赋值搜索信息。关键字、搜索范围等等 在搜索结果页面开启session得到搜索信息再提交就行了 session_start(); $keywords=$_SESSION[keywords]; $searchscope$_SESSION[searchscope]; 第三种是用数据库存储搜索信息。
PHP代码如下:
/*
Author:默默
Date :2006-12-03
*/
$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10; //每页显示10条数据
$db=mysql_connect("host","name","pass"); //创建数据库连接
$select=mysql_select_db("db",$db); //选择要操作的数据库
/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据数除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/
$total=mysql_num_rows(mysql_query("select id from table")); //查询数据的总数,id是数据库中的一个自动赋值的字段
$pagenum=ceil($total/$num); //获得总页数
//假如传入的页数参数大于总页数,则显示错误信息
If($page$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}
$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
$info=mysql_query("select name from table limit $offset,$num"); //获取相应页数所需要显示的数据,name是数据里的一个字段
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //显示数据
For($i=1;$i=$pagenum;$i++){
$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}
/*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
1 2 3 4 5 6
*/
?
?php
$mysql_server_name="localhost";
$mysql_username='root';
$mysql_password='';
$mysql_database='hp';
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
@mysql_connect("localhost","root","") or die("数据库连接失败");
@mysql_select_db("hp") or die("数据库不存在");
mysql_query("set names utf8");
$pagesize = $_GET['pagesize'] 0 ? $_GET['pagesize'] : 10; //默认情况下每页显示10条数据
$pagenum = $_GET['pagenum'] 0 ? $_GET['pagenum'] : 0;
$query_start = $pagesize * $pagenum;
if($_POST['submit']){
$strsql_add = '';
$strsql_add .=$_POST['idc'] ? " and idc='$_POST[idc]' ":"";
$strsql_add .=$_POST['jiguihao'] ? " and jiguihao='$_POST[jiguihao]' ":"";
$strsql_add .=$_POST['neicun'] ? " and neicun='$_POST[neicun]' ":"";
$strsql_add .=$_POST['yingpan'] ? " and yingpan='$_POST[yingpan]' ":"";
$strsql_add .=$_POST['xinghao'] ? " and xinghao='$_POST[xinghao]' ":"";
$strsql_add .=$_POST['cpu'] ? " and cpu='$_POST[cpu]' ":"";
$strsql_add .=$_POST['guishu'] ? " and guishu='$_POST[guishu]' ":"";
$strsql_add .=$_POST['ip'] ? " and ip='$_POST[ip]' ":"";
}
$strsql="select * from zichan where 1=1 $strsql_add limit $query_start, $pagesize";
$result=mysql_db_query($mysql_database,$strsql,$conn);
$row=mysql_fetch_row($result);
$nextpage_num = $pagenum++;
$lastpage_num = ceil(count($row)/$pagesize);
echo 'font face="verdana"';
echo 'table border="1" cellpadding="1" cellspacing="2"';
// 显示字段名称
echo "/btr/b";
for ($i=0; $imysql_num_fields($result); $i++)
{
echo 'td bgcolor="#00FF00"b'.
mysql_field_name($result, $i);
echo "/b/td/b";
}
echo "/tr/b";
// 定位到第一条记录
mysql_data_seek($result, 0);
// 循环取出记录
while ($row=mysql_fetch_row($result))
{
echo "tr/b";
for ($i=0; $imysql_num_fields($result); $i++ )
{
echo 'td bgcolor="#00FF00"';
echo $row[$i];
echo '/td';
}
echo 'tda href=\'xiugai.php?id='.$row[0].'\'修改/a';
echo '/td';
echo 'tda href="javascript:void(0)" onclick="if(window.confirm(\'确认删除?\')){window.location.href=\'del.php?id='.$row[0].'\'}"删除/a';
echo '/td';
echo "/tr/b";
}
echo "/table/b";
echo "/font";
// 释放资源
mysql_free_result($result);
// 关闭连接
mysql_close($conn);
?
html页面要增加的参数:
首页 增加 pagenum=0 或者 不加
下一页 pagenum= $nextpage_num
尾页 pagenum= $lastpage_num
信息太少 只能写下面一部分
将while里面改一下即可
?php
$page_size=20;//每页信息条数
//解析URL
$url=$_SERVER["REQUEST_URL"];
$url=parse_url($url);
$url=$url[path];
$numq=mysql_query("SELECT * FROM `表名`");
$num=mysql_num_rows($numq);
$page_first=1;
$page_last=ceil($num/$page_size);//获得总页数 也就是最后一页的数值
if ($_GET[page]=1){
$page_num=$_GET[page];
$page_nums=($page_num-1)*$page_size;
}else{
$page_num=1;
$page_nums=($page_num-1)*$page_size;
}
echo $num."条记录,共".$page_last."页"."====bbig这是第".$page_num."页/big/b"."br";
for($i=1;$i=$page_last;$i++){
echo "a href=$url2?page=".($page_num+$i-1).""."第".($page_num+$i-1)."页 "."/a";
}
$sql="SELECT * FROM `表名` limit $page_nums,$page_size";
$query=mysql_query($sql);
echo "table border=1tr th姓名/thth姓别/th/tr";
while($row=mysql_fetch_array($query)){
echo "tr td";
echo $row[name];
echo "/td";
echo "td";
echo $row[sex];
echo "/td/tr";
}
echo "/table";
?
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流