我找到问题出在什么地方了.
if(empty($page))
{
$page=0;
}
问题出在这里.但是要怎么改呀.
if(empty($page))
{
$page=0;
}
问题出在这里.但是要怎么改呀.
解决方案 »
- ["error"]>0 什么意思 求解 ^ M ^
- 关于这个提交数据怎么写呢?
- 大家帮忙看看$row['RowName']为什么取不出来值?
- 一条SQL语句如何求环比!这个月简历数减去上个月的(如图)
- php根据条件排除
- 谁碰到过Object not found!错误,急急急!
- 请问有什么好的计算器介绍啊?功能要齐全点的,用php+mysql的。非常感谢!
- 又是session问题,搞了一下午,没分了,见谅了
- 请教PHP中用ODBC连数据库时怎样使用事务?先谢过!
- 求助:Mysq Memory内存引擎存储session的数据表设计
- 我是PHP的初学者,有哪位大哥可以帮忙介绍一两本书,以及所要注意的事项!!
- 请大家帮忙看看
echo "<a href='fengyi.php?page=",$page,"'>上一页</a> ";
$page应该改成$page-1;
另外如果不加限制$page会变的没有范围,最好在显示之前加
if($page<1)
$page=1;
if($page>$maxpage)
$page=$maxpage
<?
//---------------------------------------------------------------
// buildNav 1.0
// 建立分页显示
//
// 作者: sephiroth([email protected])
// 网站: http://www.sephiroth.it/download/detail.php?id=64
// --------------------------------------------------------------
// 本类的用法
/*
include('buildNav.php');
$conn = mysql_connect('localhost','xxxxxx','xxxxxx'); // 建立数据库连接, 如果已经连接, 请省略
mysql_select_db('dbname'); // 选择数据库, 如果已经选择, 请省略
$db = new buildNav; // 创建对象
$db->offset = 'offset';
$db->number_type = 'number'; // (or 'alpha', or 'number')
$db->limit = 10;
$db->execute("SELECT * from table_name ORDER by id ASC");
while($myrow = mysql_fetch_array($db->sql_result))
{
print $myrow["your_column"];
} // 建立分页显示的模式连接等等...
$pages = $db->show_num_pages('«','« prev','»','next »','|','class="stylename"'); // 显示分页
echo $pages; // 显示数据信息
$info = $db->show_info();
echo $info;
*/
// -------------------------------------------------------------- class buildNav // [类: 控制所有分页函数的类]
{
var $limit, $execute, $query; function execute($query) // [结构函数 : mySQL执行语句]
{
$GLOBALS[$this->offset] = (!isset($GLOBALS[$this->offset])) ? 0 : $GLOBALS[$this->offset];
$this->sql_result = mysql_query($query);
$this->total_result = mysql_num_rows($this->sql_result);
if(isset($this->limit))
{
$query .= " LIMIT " . $GLOBALS[$this->offset] . ", $this->limit";
$this->sql_result = mysql_query($query);
$this->num_pages = ceil($this->total_result/$this->limit);
}
if ($GLOBALS[$this->offset]+1 > $this->total_result) {
$GLOBALS[$this->offset] = $this->total_result-1;
}
} function show_num_pages($frew = '', $rew = '', $ffwd = '', $fwd = '', $separator = '|', $objClass = '') // [函数 : 建立分页连接]
{
$current_pg = $GLOBALS[$this->offset]/$this->limit+1;
if ($current_pg > '5') {
$fgp = ($current_pg-5 > 0) ? $current_pg-5 : 1;
$egp = $current_pg+4;
if ($egp > $this->num_pages) {
$egp = $this->num_pages;
$fgp = ($this->num_pages-9 > 0) ? $this->num_pages-9 : 1;
}
}
else {
$fgp = 1;
$egp = ($this->num_pages >= 10) ? 10 : $this->num_pages;
} if($this->num_pages > 1) {
// searching for http_get_vars
foreach ($GLOBALS[HTTP_GET_VARS] as $_get_name => $_get_value) {
if ($_get_name != $this->offset) {
$this->_get_vars .= "&$_get_name=$_get_value";
}
}
$this->listNext = $GLOBALS[$this->offset] + $this->limit;
$this->listPrev = $GLOBALS[$this->offset] - $this->limit;
$this->theClass = $objClass;
if (!empty($rew)) {
$return .= ($GLOBALS[$this->offset] > 0) ? "[<a href=\"$GLOBALS[PHP_SELF]?$this->offset=0$this->_get_vars\" $this->theClass>$frew</a>] <a href=\"$GLOBALS[PHP_SELF]?$this->offset=$this->listPrev$this->_get_vars\" $this->theClass>$rew</a> $separator " : "[$frew] $rew $separator ";
} // 显示分页导航
if ($this->show_pages_number || !isset($this->show_pages_number)) {
for($this->a = $fgp; $this->a <= $egp; $this->a++) {
$this->theNext = ($this->a-1)*$this->limit;
if ($this->theNext != $GLOBALS[$this->offset]) {
$return .= " <a href=\"$GLOBALS[PHP_SELF]?$this->offset=$this->theNext$this->_get_vars\" $this->theClass> ";
if ($this->number_type == 'alpha') {
$return .= chr(64 + ($this->a));
}
else {
$return .= $this->a;
}
$return .= "</a> ";
}
else {
if ($this->number_type == 'alpha') {
//如果在当前页, 则用绿色粗体显示
$return .="<font style='font-weight:bold;color=green'>". chr(64 + ($this->a))."</font>";
}
else {
$return .="<font style='font-weight:bold;color=green'>". $this->a."</font>";
}
$return .= ($this->a < $this->num_pages) ? " $separator " : "";
}
}
$this->theNext = $GLOBALS[$this->offset] + $this->limit;
if (!empty($fwd)) {
$offset_end = ($this->num_pages-1)*$this->limit;
$return .= ($GLOBALS[$this->offset] + $this->limit < $this->total_result) ? "$separator <a href=\"$GLOBALS[PHP_SELF]?$this->offset=$this->listNext$this->_get_vars\" $this->theClass>$fwd</a> [<a href=\"$GLOBALS[PHP_SELF]?$this->offset=$offset_end$this->_get_vars\" $this->theClass>$ffwd</a>]" : "$separator $fwd [$ffwd]";
}
}
}
return $return;
} function show_info() // [函数: 显示数据记录信息]
{
$return .= '总共有 <b>'. $this->total_result . '</b> 条记录';
$list_from = ($GLOBALS[$this->offset]+1 > $this->total_result) ? $this->total_result : $GLOBALS[$this->offset]+1;
$list_to = ($GLOBALS[$this->offset]+$this->limit >= $this->total_result) ? $this->total_result : $GLOBALS[$this->offset]+$this->limit;
$return .= '显示 ' . $list_from . ' 到 ' . $list_to . ' 条的记录';
return $return;
}
}
?>
-----------------------------------------------------------
很好用的
if(empty($page))
{
$page=1;
}
但是现在是所有的翻页的连接都没有用.
原因就在于判断$page是否赋值那里.没一次判断都是没有赋值,所以总是只显示一页.
在调试的时候,总记录数,总页数,显示都是正确的.
$maxpage是2,$max是7
$startrecord=$limit*$page;不对,应该是
$startrecord=$limit*($page-1);
echo "<a href='fengyi.php?page=",$page,"'>上一页</a> ";
我觉得我开始那么写也可以.
如果那样写的话,分页就是从0开始.
像你给的代码那样写就是从1开始.
我认为还是if(empty($page))那里有问题.因为page的值一直都没有变过.
我想我原来那样写应该也可以.象我那样写的话分页就是从0开始.如果象你那样写分页就是从1开始.
刚才我试了一下
如果在if(empty($page))前加上$page=$_GET[page];
那么可以翻页,但是会提示出错.
$res=@mysql_query("select * from newstb where new='$new'",$db);
$total=@mysql_num_rows($res);
if(empty($total))
{
print "数据库为空";//$total为空的记录数
}
else
{
if(empty ($pageno))
$pageno=1;//$pageno为当前页
if($total%15)
$pagenum=ceil($total/15);//$pagenum是总多少页
else
$pagenum=$total/15;
if($pageno<$pagenum)
{
$panyi=15;//$panyi 是偏移
}
else
{
$panyi=$total-($pagenum-1)*15;
}
$s=($pageno-1)*15;
$query="select * from newstb where new='$new' order by date desc limit $s,$panyi";
$res=@mysql_query($query,$db);
print "<span style=\"font-size: 12pt\"><font color=\"#000000\">";
echo "<br>";
if($pagenum==1)
{
print "当前1-$panyi"."条新闻,";
print "共有".$total."条新闻";
}
else
{
$sumf=($pageno-1)*15+1;
$suml=$sumf+$panyi-1;
print "当前$sumf-$suml"."条新闻,";
print "共有".$total."条新闻"; }
print "</a></font></span>\n";
print "<br><br>";
for($i=0;$i<$panyi;$i++)
{
$first=@mysql_result($res,$i,"title");
$date=@mysql_result($res,$i,"date");
$id=@mysql_result($res,$i,"id");
print "<span style=\"font-size: 10pt\"><font color=\"#000000\">";
print "<img src=\"../image/huang.gif\"> ";
echo "<a href=\"javascript:openWindow('news.php?id=".$id."','newpage','height=400,width=500,top=50,left=150,menubar=no,loctaion=yes,scrollbars=yes,resizeble=no,toolbar=no');\">$first</a>";
print "</a></font></span>\n";
print "<span style=\"font-size: 8pt\"><font color=\"#666666\" face=\"Arial\">[";
print $date;
print "]</font></span>";
print "<br>";
}
?>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" height="2" valign="middle" width="593" align="center">
<? if ($pageno>1)
{
$priv=$pageno-1;
}
else
{
$priv=1;
}
// print "</td></tr><tr><td align=center>";
print "<span style=\"font-size: 9pt\"><font face=\"Arial\">";
print "[";
if($pageno==1)
print"首页";
else
print"<a href=\"more.php?pageno=1&new=$new\">首页</a>";
print "]";
print "<span style=\"font-size: 9pt\"><font face=\"Arial\">";
print "[";
if($pageno==1)
print"上页";
else
print"<a href=\"more.php?pageno=$priv&new=$new\">上页</a>";
print "]";
print "[";
if ($pageno<$pagenum)
{
$next=$pageno+1;
}
else
{
$next=$pagenum;
}
if ($pagenum==$pageno)
print "下页";
else
print "<a href=\"more.php?pageno=$next&new=$new\">下页</a>";
print "]";
print "[";
if($pageno==$pagenum)
print"末页";
else
print"<a href=\"more.php?pageno=$pagenum&new=$new\">末页</a>";
print "]";
print "</font></span>";
} ?>
if(empty($_GET["page"])){}这样就可以了.