页数定位超界了,比如:只有5页,却定位到了第6页上,当然取不到记录,显示错误supplied argument is not a valid MySQL result resource检查页面的页数定位是否正确。
解决方案 »
- 头痛的单双引号
- 我想知道在vista home如何配置php环境啊?
- 关于domxml_open_mem方法的使用,大家来帮帮忙
- 我想知道类似土豆网上传视频时它是怎么从这个视频中切除来一个展示的小图的!
- PHP关于重复登陆的问题
- 【悬赏50元】解决多个动态GIF图片的合并问题
- linux+mysql+apache+phpmyadmin 安装出现的问题,请高手解答
- 关于session的读取和清理的设想,请高手指点!!(80分)
- 如何判断某个用户连续三次的操作?(再贴)
- 网站连续几天出现被点击情况,高人指点一下
- iis+php+mysql 网站源代码配置问题
- 这段代码如何获得PHP值!在线等。解决了40分奉送
检查数组的sizeof,当前纪录的位置
<td width="20%" bgcolor="#FFFFFF"> 留言人姓名</td>
<td width="50%" bgcolor="#FFFFFF">留言标题</td>
<td width="30%" bgcolor="#FFFFFF">留言时间</td>
<?
global $page;
$mysql_db=mysql_connect("localhost","root","");
mysql_select_db("libray",$mysql_db);
$sql="select * from book ";
$sql_result=mysql_query($sql);
$number=mysql_num_rows($sql_result);
$page_number=2;
$sql="select * from book limit $page,$page_number";
$sql_result=mysql_query($sql);
while($sql_row=mysql_fetch_array($sql_result))
{
print("<tr>");
print("<td>$sql_row[0]</td>");
print("<td>$sql_row[1]</td>");
print("<td>$sql_row[2]</td>");
print("</tr>");
}
page_cleft($number,$page,$page_number);
?>
</table>
<?
/****************分页函数********************/
//$number总的记录数$page_number每页所要显的记录条数$page
function page_cleft($number,$page,$page_number)
{
global $php_self;//最好定义为全局变量
$page_forward=$page-$page_number;//前页...偏移量
$page_back=$page+$page_number;//后 一页...偏移量
$pages=ceil($number/$page_number);//总页数ceil(返回下一个整数)
$page_nonce=ceil($page/$page_number)+1;//当前页
$page_end=($pages-1)*$page_number;//末页...偏移量
echo"<span style=\"font-size:9pt;\">";
if($pages>1)
{
echo"页次".$page_nonce."/".$pages."";
if($page_nonce!=1)
echo"[<a href='$php_self?page=0'>首页</a>]"."[<a href='$php_self?page=$page_forward'>上 一页</a>]";
else
echo"[<font color=red>首页</font>]"."[<font color=red>上一页</font>]";
echo"";
if($page_nonce<=3)
{$y=1;$z=5;}
elseif($page_nonce>=$pages-2)
{$y=$pages-4;$z=$pages;}
else
{$y=$page_nonce-2;$z=$page_nonce+2;}
for($x=$y;(($x<=$z)and($x<=$pages));$x++)
{
if(($x!=$page_nonce)and($x>0))
{
$pagex=($x-1)*$page_number;
echo"<a href='$php_self?page=$pagex'>$x</a>";
}
elseif($x>0)
echo"<font color=red>.$x.</font>";
}
if($page_nonce<$pages)
echo"[<a href='$php_self?page=$page_back'>下一页</a>]"."[<a href='$php_self?page=$page_end'>末页</a>]";
else
echo"[<font color=red>下一页</font>]"."[<font color=red>末页</font>]";
}
echo"</span>";
}
?>
数据库可以查询,也可以实现分页,可就是要在第一次进入页面时报错
我是刚开始学php的,真是把我弄痛了
php传第参数到下一个页面是不是可以用session();
可我不会用呀,所以我就用了下面这重苯的方法
<a href="ui.php?temp=$temp&startyear=$startyear&startmonth=$startmonth&startday=$startday&endmonth=$endmonth&endday=$endday&endyear=$endyear"><?php echo ($server[$j][1]) ?></a>这种方法是不是能把上一个页面的参数传到ui.php这个页面呀
我是不是写错了呀,就是传不过去
我 在ui.php这个页面进行验证
echo $startday;
echo $startyear;
看不到东东
只有$startday$startyear
值没有传过来;
$_SESSION["TEMP"]="TEMP";你用GET方法传递完后应该用$_GET["startday"]这样来取得变量~~~~直接$startday是不行的~~~除非你把register设置为ON,然后注册一下你的$startday变量~
$_SESSION["startyear"]="startyear";我又在下一个页面(ui.php)
session_start();
$startyear=$_SESSION["startyear"];
echo $startyear;出 现下面的错误
Warning: session_start(): open(/tmp\sess_e30a43745bf19398076949f3a8124cb9, O_RDWR) failed: No such file or directory (2) in E:\myphp\yaan\filestat2.php on line 280Warning: session_start(): Cannot send session cookie - headers already sent by (output started at E:\myphp\yaan\filestat2.php:139) in E:\myphp\yaan\filestat2.php on line 280Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at E:\myphp\yaan\filestat2.php:139) in E:\myphp\yaan\filestat2.php on line 280
表示前面的查询出错而你的查询语句
$sql="select * from book limit $page,$page_number";
本身不错因此,你的问题在于$page没有初值。
形如:select * from book limit ,20
这样的查询肯定是要出错了
// 建立数据库连接
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
or die("Could not connect: " . mysql_error());
// 获取当前页数
if( isset($_GET['page']) ){
$page = intval( $_GET['page'] );
}
else{
$page = 1;
}
// 每页数量
$PageSize = 10;
// 获取总数据量
$sql = "select count(*) as amount from table";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$amount = $row['amount'];
// 记算总共有多少页
if( $amount ){
if( $amount < $page_size ){ $page_count = 1; } //如果总数据量小于$PageSize,那么只有一页
if( $amount % $page_size ){ //取总数据量除以每页数的余数
$page_count = (int)($amount / $page_size) + 1; //如果有余数,则页数等于总数据量除以每页数的结果取整再加一
}else{
$page_count = $amount / $page_size; //如果没有余数,则页数等于总数据量除以每页数的结果
}
}
else{
$page_count = 0;
}// 翻页链接
$page_string = '';
if( $page == 1 ){
$page_string .= '第一页|上一页|';
}
else{
$page_string .= '<a href=?page=1>第一页</a>|<a href=?page='.($page-1).'>上一页</a>|';
}
if( ($page == $page_count) || ($page_count == 0) ){
$page_string .= '下一页|尾页';
}
else{
$page_string .= '<a href=?page='.($page+1).'>下一页</a>|<a href=?page='.$page_count.'>尾页</a>';
}
// 获取数据,以二维数组格式返回结果
if( $amount ){
$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
}else{
$rowset = array();
}
// 没有包含显示结果的代码,那不在讨论范围,只要用foreach就可以很简单的用得到的二维数组来显示结果
?>