php sql语句/分页错误 帮看看这是会错的
include("conn.php");$results=mysql_query("SELECT*FROM`news`");$total=mysql_num_rows($...
include("conn.php");
$results=mysql_query("SELECT * FROM `news`");
$total=mysql_num_rows($results);
_PAGEFT($total,5);
?>
<CENTER>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
<title>新闻标题1</title>
</head>
<body>
<table width="500" border="0" align="center">
<?
$result=mysql_query("select * from news order by datetime desc limit $firstcount,$displaypg");
while($row=mysql_fetch_array($result)){
?>
<tr>
<td><a href="html/<?= $row["newsid"].".html";?>" target="_blank"><?= $row["title"];?></a></td>
<td><?= $row["datetime"];?></td>
</tr>
<?php
}
?>
</table>
</body>
</html><br>
<?php
echo "<br>".$pagenav;
?>
</CENTER>
$result=mysql_query("select * from news order by datetime desc
——————————————————
| limit $firstcount,$displaypg"); |
——————————————————
有数据的时候没事··一条数据都没有的时候就出错了
删除这句也就没事了·为什么呢?
这是我的分页内容conn.php :
function _PAGEFT($totle, $displaypg = 20, $url = '') {
global $page, $firstcount, $pagenav, $_SERVER;
$GLOBALS["displaypg"] = $displaypg;
if (!$page)
$page = 1;
if (!$url) {
$url = $_SERVER["REQUEST_URI"];
}
//URL分析:
$parse_url = parse_url($url);
$url_query = $parse_url["query"]; //单独取出URL的查询字串
if ($url_query) {
$url_query = ereg_replace("(^|&)page=$page", "", $url_query);
$url = str_replace($parse_url["query"], $url_query, $url);
if ($url_query)
$url .= "&page";
else
$url .= "page";
} else {
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1;
$nextpg = ($page == $lastpg ? 0 : $page +1);
$firstcount = ($page -1) * $displaypg;
//如果只有一页则跳出函数:
if ($lastpg <= 1){
return false;
}else{
if ($prepg){
$pagenav .= " <a href='$url=1'>首页</a> ";
$pagenav .= " <a href='$url=$prepg'><<</a> ";
}else{
$pagenav .= " 首页 ";
//$pagenav .= " << ";
}
if ($nextpg){
$pagenav .= " <a href='$url=$nextpg'>>></a> ";
$pagenav .= " <a href='$url=$lastpg'>尾页</a> ";
}else{
//$pagenav .= " >> ";
$pagenav .= " 尾页 ";
}
}
//下拉跳转列表,循环列出所有页码:
$pagenav .= "<select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for ($i = 1; $i <= $lastpg; $i++) {
if ($i == $page)
$pagenav .= "<option value='$i' selected>$i</option>\n";
else
$pagenav .= "<option value='$i'>$i</option>\n";
}
} 展开
$results=mysql_query("SELECT * FROM `news`");
$total=mysql_num_rows($results);
_PAGEFT($total,5);
?>
<CENTER>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
<title>新闻标题1</title>
</head>
<body>
<table width="500" border="0" align="center">
<?
$result=mysql_query("select * from news order by datetime desc limit $firstcount,$displaypg");
while($row=mysql_fetch_array($result)){
?>
<tr>
<td><a href="html/<?= $row["newsid"].".html";?>" target="_blank"><?= $row["title"];?></a></td>
<td><?= $row["datetime"];?></td>
</tr>
<?php
}
?>
</table>
</body>
</html><br>
<?php
echo "<br>".$pagenav;
?>
</CENTER>
$result=mysql_query("select * from news order by datetime desc
——————————————————
| limit $firstcount,$displaypg"); |
——————————————————
有数据的时候没事··一条数据都没有的时候就出错了
删除这句也就没事了·为什么呢?
这是我的分页内容conn.php :
function _PAGEFT($totle, $displaypg = 20, $url = '') {
global $page, $firstcount, $pagenav, $_SERVER;
$GLOBALS["displaypg"] = $displaypg;
if (!$page)
$page = 1;
if (!$url) {
$url = $_SERVER["REQUEST_URI"];
}
//URL分析:
$parse_url = parse_url($url);
$url_query = $parse_url["query"]; //单独取出URL的查询字串
if ($url_query) {
$url_query = ereg_replace("(^|&)page=$page", "", $url_query);
$url = str_replace($parse_url["query"], $url_query, $url);
if ($url_query)
$url .= "&page";
else
$url .= "page";
} else {
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1;
$nextpg = ($page == $lastpg ? 0 : $page +1);
$firstcount = ($page -1) * $displaypg;
//如果只有一页则跳出函数:
if ($lastpg <= 1){
return false;
}else{
if ($prepg){
$pagenav .= " <a href='$url=1'>首页</a> ";
$pagenav .= " <a href='$url=$prepg'><<</a> ";
}else{
$pagenav .= " 首页 ";
//$pagenav .= " << ";
}
if ($nextpg){
$pagenav .= " <a href='$url=$nextpg'>>></a> ";
$pagenav .= " <a href='$url=$lastpg'>尾页</a> ";
}else{
//$pagenav .= " >> ";
$pagenav .= " 尾页 ";
}
}
//下拉跳转列表,循环列出所有页码:
$pagenav .= "<select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for ($i = 1; $i <= $lastpg; $i++) {
if ($i == $page)
$pagenav .= "<option value='$i' selected>$i</option>\n";
else
$pagenav .= "<option value='$i'>$i</option>\n";
}
} 展开
1个回答
展开全部
刚才错了,改一下:
删除这句?
如果你真的删了这句的话,你的分页也就不好用了。
原因是什么呢?
当一条数据都没有的时候,这个limit因为判断的关系会变成:LIMIT -1, 20
是这样吧?那么应该如何解决呢?下面是解决方案(我在你的程序中截取一段,你自己找找是哪里吧):
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1;
$nextpg = ($page == $lastpg ? 0 : $page +1);
$firstcount = ($page -1) * $displaypg; //问题就出在这一句上了。
if($firstcount < 0 ){ // 在这里,对它进行一下强行纠正;
$firstcount = 0; //如果真的是-1了,那它一定是没有内容才对,改成0也就不伤大雅喽。
}
//如果只有一页则跳出函数:
删除这句?
如果你真的删了这句的话,你的分页也就不好用了。
原因是什么呢?
当一条数据都没有的时候,这个limit因为判断的关系会变成:LIMIT -1, 20
是这样吧?那么应该如何解决呢?下面是解决方案(我在你的程序中截取一段,你自己找找是哪里吧):
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1;
$nextpg = ($page == $lastpg ? 0 : $page +1);
$firstcount = ($page -1) * $displaypg; //问题就出在这一句上了。
if($firstcount < 0 ){ // 在这里,对它进行一下强行纠正;
$firstcount = 0; //如果真的是-1了,那它一定是没有内容才对,改成0也就不伤大雅喽。
}
//如果只有一页则跳出函数:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询