两个设置分页的都出问题,想屎了... 分页phpmysqlpdo 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有看到你处理传入的 offset $offset = isset($_GET['pid'])?intval($_GET['pid']):1;if(!$offset) $offset = 1;开头就处理了啊 参考了下往上的,现在修改如下:<?php$offset = isset($_GET['ofset']) ? intval($_GET['offset']) : 1;if(!$offset) $offset = 1;echo "the current page: $offset<br />";//测试语句$perpage = 30; //每页显示30条目信息$offset = ($offset-1)*$perpage;$db = NEW PDO("mysql:host=localhost; port = 3306; dbname =library", 'root', 'cai123');$total = $db->query('SELECT COUNT(*) FROM library.messages')->fetchColumn(0); //获取信息的总数$sql = "SELECT * FROM library.messages LIMIT $offset, $perpage";$result = $db->query($sql);if ($result){ foreach ($result->fetchAll() as $row) { echo "subject: ".$row[5]."<br />"; }}else{ $error = $db->errorInfo(); echo "error happened..".$error[2]; exit();}$numpage = ceil($total/$perpage);if($total%$perpage) $numpage++;//计算可以显示为numpage页if ($numpage > 1){ for ($i = 1; $i <= $numpage; $i++) { if ($i == $offset) //如果是当前页 { echo "$i"; } else { //echo "<a href ='". htmlentities($_SERVER['PHP_SELF'])."?offset=$i'".">$i</a> "; echo "<a href = '"."http://127.0.0.1/php/example/setPage02.php?offset=$i'>$i</a> "; } }}当我点击显示第20页的内容时,测试信息显示的还是第一页,但是我获取的是:$_GET['offset']没有错啊,怎么不论点那一页都显示是第一页?如下图,我点的是第20页。浏览器地址栏显示: http://127.0.0.1/php/example/setPage02.php?offset=20但echo "the current page: $offset<br />"; 显示的还是第一页。 怎么回事? 42 行有 ...setPage02.php?offset=$i'>$i....而第 2 行是 $offset = isset($_GET['ofset']) ? intval($_GET['offset']) : 1;知道问题在哪了吧? 哈哈哈,,,,我已经被自己打败了,看来我还是要换编辑工具了,这么明显的拼写差异没发现,害得我好一顿纠结...THX 现在初学,我是在windows环境下,平时一直都是用EditPlus编辑工具,这么明显的差异就这么放过去了,由衷的蛋碎》 表单传送问题(form post problem) 通过POST提交的方式都是WEB吗? php中调用mysql出错 在线求助 测试PHP网站记录ip实验 变三个内裤了? 关于php和javascrip混合在一起 大家好,刚回来,有几个简单的关于将网站上传到空间的问题请教大家?还有关于DW的问题? 求教WordPress MU多用户版本的安装说明 我用PHOTOSHOP中的ADOBE IMAGEREADY做GIF动画时遇到的问题 .php的问题 [help] php的http上传文件问题 求集成php+mysql的安装包
if(!$offset) $offset = 1;开头就处理了啊
$offset = isset($_GET['ofset']) ? intval($_GET['offset']) : 1;
if(!$offset) $offset = 1;echo "the current page: $offset<br />";//测试语句$perpage = 30; //每页显示30条目信息$offset = ($offset-1)*$perpage;
$db = NEW PDO("mysql:host=localhost; port = 3306; dbname =library", 'root', 'cai123');
$total = $db->query('SELECT COUNT(*) FROM library.messages')->fetchColumn(0); //获取信息的总数
$sql = "SELECT * FROM library.messages LIMIT $offset, $perpage";
$result = $db->query($sql);
if ($result)
{
foreach ($result->fetchAll() as $row)
{
echo "subject: ".$row[5]."<br />";
}
}
else
{
$error = $db->errorInfo();
echo "error happened..".$error[2];
exit();
}$numpage = ceil($total/$perpage);
if($total%$perpage) $numpage++;//计算可以显示为numpage页if ($numpage > 1)
{
for ($i = 1; $i <= $numpage; $i++)
{
if ($i == $offset) //如果是当前页
{
echo "$i";
}
else
{
//echo "<a href ='". htmlentities($_SERVER['PHP_SELF'])."?offset=$i'".">$i</a> ";
echo "<a href = '"."http://127.0.0.1/php/example/setPage02.php?offset=$i'>$i</a> ";
}
}
}当我点击显示第20页的内容时,测试信息显示的还是第一页,但是我获取的是:$_GET['offset']没有错啊,怎么不论点那一页都显示是第一页?如下图,我点的是第20页。浏览器地址栏显示: http://127.0.0.1/php/example/setPage02.php?offset=20
但echo "the current page: $offset<br />"; 显示的还是第一页。
怎么回事?
而第 2 行是 $offset = isset($_GET['ofset']) ? intval($_GET['offset']) : 1;知道问题在哪了吧?
哈哈哈,,,,我已经被自己打败了,看来我还是要换编辑工具了,这么明显的拼写差异没发现,害得我好一顿纠结...THX