登录 | 注册 | 论坛 | 搜索 | 会员中心 | 关于我们
论坛首页    »   PHP技术交流   »    分页类的问题 在线等  
  
上一主题 下一主题
 标题:分页类的问题 在线等  

tgyd
状态: 这家伙又在潜水~
等级: 会员发帖: 1帖
排名: 第1名积分: 5分
离线: 2008年05月30日
        
1 楼

分页类的问题 在线等

<?php

class mysql_pager {
// define properties
var $page;
var $result;
var $results_per_page = 3;

function mysql_pager( $result, $current_page, $results_per_page ) {
if(!$result){
echo "<div align=center>数据库未运行,结果集错误</div>\n";
return;
}
$this->result = $result;
if(!$current_page || $current_page < 0)
$this->page = 1;
else $this->page = $current_page;
if(!emptyempty($results_per_page))
$this->results_per_page = $results_per_page;
$numrows = mysql_num_rows($this->result);
if(!$numrows) {
echo "<div align=center>查询结果为空.</div>\n";
return;
}
$this->total_pages = ceil($numrows / $this->results_per_page);
}

function print_paged_results() {
echo "<table border=0 align=center>\n";
$start = ($this->page - 1) * $this->results_per_page;
mysql_data_seek($this->result, $start);
$x = 0;
for($i = 1; $i <= $this->results_per_page && $row = mysql_fetch_array($this->result); $i++) {
if($x++ & 1) $bgcolor = "#F2F2FF";
else $bgcolor = "#EEEEEE";
echo "<tr bgcolor=$bgcolor><td>". $row["id"] . "</td></tr>";

}
echo "</table>\n";
}
function print_navigation() {
global $PHP_SELF;
echo "<div align=center>";
for($i = 1; $i <= $this->total_pages; $i++) { #loop to print << 1 2 3... $total_pages >>
if($i == 1 && $this->page > 1) #Prints the << first to goto the previous page (not on page 1)

echo "<a href=\"$PHP_SELF?page=".($this->page - 1)."\" onMouseOver=\"status="Previous Page";return true;\" onMouseOut=\"status=" ";return true;\">$i</a>";

说这里有问题

if($i == $this->page) #Doesn"t print a link itself, just prints page number
echo "<font color=\"#ff3333\"> ".$i. "</font>";
if($i != $this->page) #Other links that aren"t this page go here
echo "<a href=\"$PHP_SELF?page=$i\" onMouseOver=\"status="Go to Page $i";return true;\" onMouseOut=\"status=" ";return true;\"> $i </a>";
if($i == $this->total_pages && $this->page != $this->total_pages) # Link for next page >> (not on last page)
echo "<a href=\"$PHP_SELF?page=".($this->page + 1)."\" onMouseOver=\"status="Go to the Next Page";return true;\" onMouseOut=\"status=" ";return true;\">?</a>";
}
echo "</div>\n";
}
}
?>

========================================
调用页面
include("inc/page.php");


$mysql_server="localhost";
$mysql_username="mysql";
$mysql_pwd="123456";
$mysql_database="test";

$conn=mysql_connect($mysql_server,$mysql_username,$mysql_pwd );

mysql_select_db($mysql_database,$conn);

$result=mysql_query("Select * FROM gestbook");


$p = new mysql_pager( $result,$page=$_GET["page"],10 );
$p->print_navigation();
// $p->print_paged_results();
$p->print_navigation()

========================================
错误:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' 66行

说是标点有问题 ,请问怎样解决。
2008-05-30 21:41:41      
一刀
状态: 砍人中!
等级: 会员发帖: 90帖
排名: 第1名积分: 126分
离线: 2008年06月01日
        
2 楼


echo "<a href=\"$PHP_SELF?page=".($this->page - 1)."\" onMouseOver=\"status="Previous Page";return true;\" onMouseOut=\"status=" ";return true;\">$i</a>";

改为

echo "<a href=\"$PHP_SELF?page=\"($this->page - 1)\"\" onMouseOver=\"status=\"Previous Page\";return true;\" onMouseOut=\"status=\" \";return true;\">$i</a>";


  需要一刀的,就别浪费两刀!
2008-06-01 10:30:24      
liutaiyu
状态: 你知道吗?我不知道。
等级: 会员发帖: 79帖
排名: 第1名积分: 161分
来自: 安徽.六安.霍邱
离线: 2008年08月12日
        
3 楼


<?php

class mysql_pager {
var $page;
var $result;
var $results_per_page = 3;

function mysql_pager( $result, $current_page, $results_per_page ) {
if(!$result){
echo "<div align=center>数据库未运行,结果集错误</div>\n";
return;
}
$this->result = $result;
if(!$current_page || $current_page < 0)
$this->page = 1;
else $this->page = $current_page;
if(!emptyempty($results_per_page))
$this->results_per_page = $results_per_page;
$numrows = mysql_num_rows($this->result);
if(!$numrows) {
echo "<div align=center>查询结果为空.</div>\n";
return;
}
$this->total_pages = ceil($numrows / $this->results_per_page);
}

function print_paged_results() {
echo "<table border=0 align=center>\n";
$start = ($this->page - 1) * $this->results_per_page;
mysql_data_seek($this->result, $start);
$x = 0;
for($i = 1; $i <= $this->results_per_page && $row = mysql_fetch_array($this->result); $i++) {
if($x++ & 1) $bgcolor = "#F2F2FF";
else $bgcolor = "#EEEEEE";
echo "<tr bgcolor=$bgcolor><td>". $row["id"] . "</td></tr>";

}
echo "</table>\n";
}
function print_navigation() {
global $PHP_SELF;
echo "<div align=center>";
for($i = 1; $i <= $this->total_pages; $i++) { #loop to print << 1 2 3... $total_pages >>
if($i == 1 && $this->page > 1) #Prints the << first to goto the previous page (not on page 1)

echo "<a href=\"$PHP_SELF?page=\"($this->page - 1)\"\" onMouseOver=\"status=\"Previous Page\";return true;\" onMouseOut=\"status=\" \";return true;\">$i</a>";


if($i == $this->page) #Doesn"t print a link itself, just prints page number
echo "<font color=\"#ff3333\"> ".$i. "</font>";
if($i != $this->page) #Other links that aren"t this page go here

echo "<a href=\"$PHP_SELF?page=$i\" onMouseOver=\"status=\"Go to Page $i\";return true;\" onMouseOut=\"status=\"\";return true;\">$i</a>";
if($i == $this->total_pages && $this->page != $this->total_pages) # Link for next page >> (not on last page)
echo "<a href=\"$PHP_SELF?page=\".($this->page + 1).\"\" onMouseOver=\"status=\"Go to the Next Page\";return true;\"onMouseOut=\"status=\"\";return true;\">?</a>";
}
echo "</div>\n";
}
}
?>

========================================
调用页面
include("inc/page.php");


$mysql_server="localhost";
$mysql_username="mysql";
$mysql_pwd="123456";
$mysql_database="test";

$conn=mysql_connect($mysql_server,$mysql_username,$mysql_pwd );

mysql_select_db($mysql_database,$conn);

$result=mysql_query("Select * FROM gestbook");


$p = new mysql_pager( $result,$page=$_GET["page"],10 );
$p->print_navigation();
// $p->print_paged_results();
$p->print_navigation()

========================================
试试 在我的本地机没什么问题


  一切向前看.
2008-06-02 17:03:54      
liutaiyu
状态: 你知道吗?我不知道。
等级: 会员发帖: 79帖
排名: 第1名积分: 161分
来自: 安徽.六安.霍邱
离线: 2008年08月12日
        
4 楼


$p = new mysql_pager( $result,$page=$_GET["page"],10 );
$p->print_navigation();
// $p->print_paged_results();
$p->print_navigation();

刚才忘了加分号了  在试试吧


  一切向前看.
2008-06-02 17:06:19      
sina
状态: 你看我干什么?
等级: 会员发帖: 45帖
排名: 第1名积分: 83分
离线: 2008年09月05日
        
5 楼


liutaiyu,你太强了。这样的程序你都看

2008-06-23 12:36:30      
  
51/11


Powered by BbsFine 0.2 © 2002-2008 Xingmo.com Archiver
星模公司 ©2008 版权所有 京ICP备05011686号