php 查询结果分原网页显示并分页 10
现在的情况是,我输入一个查询条件,然后选择查询。这个时候,查询结果在本页面内显示(不是跳转到新的页面,然后显示查询结果,也就是说URL地址没有改变)。现在的问题是:第一页...
现在的情况是,我输入一个查询条件,然后选择查询。这个时候,查询结果在本页面内显示(不是跳转到新的页面,然后显示查询结果,也就是说URL地址没有改变)。
现在的问题是:第一页可以正常显示,但一但点击首页、上一页、下一页、尾页。四个中的一个,所有信息就都没有了。
网上查到的结果是,需要传递查询条件到URL。但是我这个是在同一个网页中,没有跳转啊!
以下是【首页】、【上一页】、【下一页】、【尾页】的代码和我的查询代码
$sql=mysql_query("select * from tb_thesis where “.$temp.” order by date limit ".($page-1)*$pagesize.",$pagesize",$conn);
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=1&id=<?php echo urlencode($id);?>" class="a1"><font color="black">首页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php
if($page>1) //判断当前页是否大于第一页,如果是则当用户单击“上一页”超级链接时,使变量$page的值减1,从而实现向前翻页的功能
echo $page-1;
else
echo 1;
?>&id=<?php echo urlencode($id);?>" class="a1"><font color="black">上一页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php
if($page<$pagecount) //判断当前页码是否小于总的页数,如果是则当用户单击“下一页”超级链接时,使变量$page的值加1,从而实现向前翻页的功能
echo $page+1;
else
echo $pagecount;
?>&id=<?php echo $id;?>" class="a1"><font color="black">下一页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php echo $pagecount;?>&id=<?php echo urlencode($id);?>" class="a1"><font color="black">尾页</font></a></div></td>
</tr>
</table> 展开
现在的问题是:第一页可以正常显示,但一但点击首页、上一页、下一页、尾页。四个中的一个,所有信息就都没有了。
网上查到的结果是,需要传递查询条件到URL。但是我这个是在同一个网页中,没有跳转啊!
以下是【首页】、【上一页】、【下一页】、【尾页】的代码和我的查询代码
$sql=mysql_query("select * from tb_thesis where “.$temp.” order by date limit ".($page-1)*$pagesize.",$pagesize",$conn);
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=1&id=<?php echo urlencode($id);?>" class="a1"><font color="black">首页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php
if($page>1) //判断当前页是否大于第一页,如果是则当用户单击“上一页”超级链接时,使变量$page的值减1,从而实现向前翻页的功能
echo $page-1;
else
echo 1;
?>&id=<?php echo urlencode($id);?>" class="a1"><font color="black">上一页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php
if($page<$pagecount) //判断当前页码是否小于总的页数,如果是则当用户单击“下一页”超级链接时,使变量$page的值加1,从而实现向前翻页的功能
echo $page+1;
else
echo $pagecount;
?>&id=<?php echo $id;?>" class="a1"><font color="black">下一页</font></a>
<a href="<?php echo $_SERVER["PHP_SELF"]?>?page=<?php echo $pagecount;?>&id=<?php echo urlencode($id);?>" class="a1"><font color="black">尾页</font></a></div></td>
</tr>
</table> 展开
4个回答
展开全部
<?php
//总记录数
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM db_name"),0);
//每页显示
$size = 10;
//总页数
$pagecount = ceil($count/$size);
//获取浏览器传来的PAGE值 去除两边空格 转成整数 无则赋值1
$page = isset($_GET['page']) ? intval(trim($_GET['page'])) : 1;
//如果小于1或大于总页数则等于1
if($page < 1 || $page > $pagecount) $page = 1;
//从第几条记录开始显示
$begin = ($page - 1) * $size;
$sql = mysql_query("SELECT * FROM db_name ORDER BY id DESC LIMIT $begin,$size");
while($count && $arr = mysql_fetch_array($sql)){
//这里是你要输出的内容 如:
$id = $arr['info_id'];
echo $id;
}
//翻页
$last = $page - 1;//前页
$next = $page + 1;//后页
echo <<<HTML
<a href="?page=1">首页</a>
<a href="?page={$last}">前页</a>
第{$page}/{$pagecount}页
<a href="?page={$next}">后页</a>
<a href="?page={$pagecount}">尾页</a>
HTML;
?>
展开全部
你的判断逻辑有问题(前一页 后一页)。这个是我以前学习类的时候写的分页类,里面有关于逻辑的判断,希望对你有用。
<?php
// 禁止直接访问该页面
if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "pager.class.php") {
header("HTTP/1.0 404 Not Found");
}
class Pager
{
var $infoCount; /** 总信息数 */
var $pageCount; /** 总页数 */
var $items; /** 每页显示条数 */
var $pageNo; /** 当前页码 */
var $startPos;/** 查询的起始位置 */
var $nextPageNo;
var $prevPageNo;
function Pager($infoCount, $items, $pageNo)
{
$this->infoCount = $infoCount;
$this->items = $items;
$this->pageNo = $pageNo;
$this->pageCount = $this->GetPageCount();
$this->AdjustPageNo();
$this->startPos = $this->GetStartPos();
}
function AdjustPageNo()
{
if($this->pageNo == '' || $this->pageNo < 1)
$this->pageNo = 1;
if ($this->pageNo > $this->pageCount)
$this->pageNo = $this->pageCount;
}
/**
* 下一页
*/
function GoToNextPage()
{
$nextPageNo = $this->pageNo + 1;
if ($nextPageNo > $this->pageCount)
{
$this->nextPageNo = $this->pageCount;
return false;
}
$this->nextPageNo = $nextPageNo;
return true;
}
/**
* 上一页
*/
function GotoPrevPage()
{
$prevPageNo = $this->pageNo - 1;
if ($prevPageNo < 1)
{
$this->prevPageNo = 1;
return false;
}
$this->prevPageNo = $prevPageNo;
return true;
}
function GetPageCount()
{
return ceil($this->infoCount / $this->items);
}
function GetStartPos()
{
return ($this->pageNo - 1) * $this->items;
}
}
?>
<?php
// 禁止直接访问该页面
if (basename($HTTP_SERVER_VARS['PHP_SELF']) == "pager.class.php") {
header("HTTP/1.0 404 Not Found");
}
class Pager
{
var $infoCount; /** 总信息数 */
var $pageCount; /** 总页数 */
var $items; /** 每页显示条数 */
var $pageNo; /** 当前页码 */
var $startPos;/** 查询的起始位置 */
var $nextPageNo;
var $prevPageNo;
function Pager($infoCount, $items, $pageNo)
{
$this->infoCount = $infoCount;
$this->items = $items;
$this->pageNo = $pageNo;
$this->pageCount = $this->GetPageCount();
$this->AdjustPageNo();
$this->startPos = $this->GetStartPos();
}
function AdjustPageNo()
{
if($this->pageNo == '' || $this->pageNo < 1)
$this->pageNo = 1;
if ($this->pageNo > $this->pageCount)
$this->pageNo = $this->pageCount;
}
/**
* 下一页
*/
function GoToNextPage()
{
$nextPageNo = $this->pageNo + 1;
if ($nextPageNo > $this->pageCount)
{
$this->nextPageNo = $this->pageCount;
return false;
}
$this->nextPageNo = $nextPageNo;
return true;
}
/**
* 上一页
*/
function GotoPrevPage()
{
$prevPageNo = $this->pageNo - 1;
if ($prevPageNo < 1)
{
$this->prevPageNo = 1;
return false;
}
$this->prevPageNo = $prevPageNo;
return true;
}
function GetPageCount()
{
return ceil($this->infoCount / $this->items);
}
function GetStartPos()
{
return ($this->pageNo - 1) * $this->items;
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
即使在同一页 但是你的page参数不一样的 就会显示不一样的结果啊
追问
的确有page=1.page=2的区别 但第二页还是没有东西……
追答
你在输出的时候带入下一页的页码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hp echo $_SERVER["PHP_SELF"]?>?page=<?php echo $pagecount;?>&id=<?php echo urlencode($id);?>" class="a1"><font color="black">尾页</font></a></div></td>
</tr>
</tr>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询