学习php所遇到的问题? 你没有include data.inc啊我看你怎么注释掉了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你引用的到才怪呢?init()是class 里的,怎么引用外面的变量 发个我现在在用的数据库类你吧,不管理怎么说,这个类也经历了八年多的历史了,应该很稳定吧<?/*** 数据库类.* * 封装常见的数据库操作,包括分页处理.* * @author 徐兴* @package lib* @version v1.0* @copyright juwangTech.**/class db { /** * 可以选择mysql oracle sql * @access public * @var 数据库类型 */ public $dbtype='mysql'; /** * 默认的数据库连接所用的用户名. * @access public * @var 数据库用户名 */ public $user=''; /** * 默认的数据库连接所用的用户密码 * @access public * @var 数据库密码 */ public $pass=''; /** * 数据库主机地址,本机默认写localhost * @access public * @var 数据库主机地址 */ public $host=''; /** * 指定的不当前操作的数据库 * @access public * @var 数据库,指定的库 */ public $database=''; /** * 数据库的连接句柄 * @access public * @var 句柄 */ public $handle; /** * 记录集 * @access public * @var 记录集 */ public $rs = array(); /** * 最后一次记录集 * @access public * @var 最后一次记录集 */ public $last_rs = ''; /** * 分页记录中一页数据的行数 * @access public * @var 分页记录中一页数据的行数 */ public $rows_num=0; //记录行数 public $page=0; //页 public $pages_num=0; //页数 public $rows_per_page=0; //每页记录行数 public $rows_offset=0; //行偏移,使用较少 public $params=''; //参数 public $show_page_num=0; //页式2时示页(为) public $func_ary = array( 'farray' => 'mysql_fetch_array', 'fnum' => 'mysql_fetch_row', 'ffield' => 'mysql_fetch_assoc', 'fobject' => 'mysql_fetch_object', ); /** * 指定数据库类型,是mysql 还是sql,还是orecle. * @param 数据库的类型 $type * @return bool */ function __construct( $type='mysql' ) { if( $type!='' ) $this->dbtype = $type; if( !$this->func_ary[$this->dbtype] ) { return false; }else { return true; } } /** * *创建一个数据库的连接. * * @param string $host -主机名称 * @param string $user -数据库用户名 * @param 数据库用户密码 $pass * @return 数据库句柄.handle */ function conn( $host = 'localhost' , $user = 'longsmartcn' , $pass = '57202240' ) { if( gettype( $host ) == 'resource' ) { $this->handle = $host; }else { if( $host != '' ) $this->host = $host; if( $user != '') $this->user = $user; if( $pass != '') $this->pass = $pass; $this->handle = mysql_connect( $this->host , $this->user , $this->pass , false , MYSQL_CLIENT_COMPRESS ) or die( "系统忙,请稍厚" ); // $this->query( "SET NAMES utf8") or die( "set names utf-8 失败" ); return $this->handle; } } /** * *关闭数据库连接. * */ function close() { @mysql_close($this->handle); } /** * *指定所选的数据库. * * @param 指定的当前操作的数据库名. $database */ function setdb( $database = 'pm' ) { if( $database != '' ) $this->database = $database; @mysql_select_db( $this->database , $this->handle ); } /** * 执行一个sql语句. * @param 查询语句,支持单个sql和数组模式.。 $sql * @return */ function query( $sql ) { if( is_array( $sql ) ) { for($i=0; $i<sizeof($sql); $i++) { $tmp = @mysql_query($sql[$i],$this->handle); } return $tmp; }else { return @mysql_query($sql,$this->handle); } } /** * 取出最新插入数据库的id号. * @return int */ function insid() { return @mysql_insert_id($this->handle); } /** * 获取影响的行数. */ function affrow() { return @mysql_affected_rows($this->handle); } /* */ function err() { return array(@mysql_errno(), @mysql_error($this->handle)); } /* 已记录集方式得到记录本 */ function rs( $sql = '' , $rs_name = '' ) { if( $rs_name == '' && $this->last_rs == '') { $rs_name='rs'; }elseif( $rs_name == '' ) { $rs_name = $this->last_rs; } $sql_tmp = is_array( $sql )? $sql [ sizeof( $sql ) ] : $sql; if( $sql_tmp != '' && $this->result[ $rs_name ][ 0 ] != $sql ){ $tmp = $this->query( $sql ); $this->result[ $rs_name ] = array( $sql_tmp,$tmp ); $this->last_rs = $rs_name; } return $this->result[ $rs_name ][1]; } /* 以数组方式取得 */ function rn( $sql='' , $type = 'num' , $rs_name = '',$num = 1) { if( !$type ) $type = 'num'; if( !in_array( $type , array( 'num' , 'field' , 'array' , 'object' ))) return false; if( $num == 1 ) { return @$this->func_ary[ 'f'. $type ]( $this->rs( $sql , $rs_name)); }elseif( $num == 'all' ) { while( $tmp[] = @$this->func_ary[ 'f'.$type ]( $this->rs( $sql , $rs_name ))) { } }elseif( is_int( $num )) { for( $i = 0 ; $i < $num ; $i++ ) { $tmp1 = @$this->func_ary[ 'f'.$type ]( $this->rs( $sql , $rs_name ) ); if( $tmp1 === false ) { break; }else { $tmp[] = $tmp1; } } }else { return false; } return $tmp; } /** * 得到单值 */ function val( $sql ) { if( DEBUG == "1" ){echo $sql."<hr/>";} $tmp = mysql_fetch_row($this->query($sql)); if( is_null($tmp)) { echo "没有你要取得值"; } return $tmp[0]; } /** * 得到单值 ,多个的 * @param 查询语句 $sql */ function vals( $sql ) { if( DEBUG == "1" ){echo $sql."<hr/>";} $tmp = mysql_fetch_row($this->query($sql)); if( is_null($tmp)) { echo "没有你要取得值"; } return $tmp; } /** * 通过表中的一个字段的值来取得另个字段,或者是一组数据的方法. * @param 值的编号. $id * @param 需要取得的数据的字段名. $attrName * */ function getValue($id,$attrName,$table,$condKey) { $table = $table; $cond = "where $condKey = '$id'"; $sql = "select $attrName from $table $cond"; if(DEBUG == "1") { echo "getValue".$sql."<hr/>"; } if (strpos($attrName, ',')) { $value = $this->vals( $sql ); } else { $value = $this->val( $sql ); } if(DEBUG == "1") { echo "你所求的值为 " . var_dump( $value ) . " |"; } return $value; } /** * 得到行数 */ function num($sql='',$rs_name='rs') { return @mysql_num_rows($this->rs($sql,$rs_name)); } /** * 清空记录集 */ function clean($rs_name) { if(is_array($rs_name)) { foreach($rs_name as $val) { @mysql_free_result($this->result[$rs_name][1]); unset($this->result[$val]); } }else { @mysql_free_result($this->result[$rs_name][1]); unset($this->result[$rs_name]); } } /** * 重设记录集 */ function reset ($rs_name) { if(is_array($rs_name)) { foreach($rs_name as $val) { @mysql_data_seek($this->result[$val][1],0); } }else { @mysql_data_seek($this->result[$rs_name][1],0); } } 接上 /** * 指定分页 */ function pnum($page,$rows_num,$rows_per_page=20,$offset=0) { if($rows_num) $this->rows_num = $rows_num; if($rows_per_page) $this->rows_per_page = $rows_per_page; if($offset) $this->offset = $offset; if(!$page) $page =1; $this->page = $page; $this->pages_num = ceil(($this->rows_num-$this->offset)/$this->rows_per_page); Return $this->pages_num; } /* 进行分页处理 */ function page($sql,$rs_name='') { switch($this->dbtype) { case 'mysql': $sql = $sql." limit ".(($this->page-1)*$this->rows_per_page+$this->offset).", ".$this->rows_per_page; return $this->rs($sql,$rs_name); break; } } /** * * 输出分页条. * * @param 分页的格式类型 $style * @param 显示多少个分页标签. $show_page_num */ function nav( $style='nav1', $show_page_num=15 ) { switch( $style ) { case 'nav2': for( $i=1 ; $i <= $this->pages_num; $i++ ) { if( $i == $this->page ) { $nav .= " <font style='font-size:12pt' face='Verdana'><b> $i </b></font> "; }else { $nav .= " <a href=?page=$i&". $this->params ."><font style='font-size:9pt;' face='Verdana'>$i</font></a> "; } } $nav = " $nav 页"; break; case 'nav3': echo "<style>.page, .page_select{ width:25px; text-decoration: none; text-align: center; border: 1px solid #092FB3; font-size:9pt; float:left; line-height:25px; margin-right:2px;}.page{ color:#092FB3; background-color: #EEF8FF; display:block;}.page_select{ color:#EEF8FF; background-color: #092FB3; font-weight: bolder;}.a_nav{ color:#092FB3; text-decoration: none; text-align: center; font-size:9pt; line-height:25px; float:left;}</style>"; if($show_page_num) $this->show_page_num = $show_page_num; $page = $this->page; $show_page_num = $this->show_page_num; $pages_num = $this->pages_num; $param = $this->params; $mid = ceil(($show_page_num+1)/2); $nav = ''; if($page<=$mid ) { $begin = 1; }else if($page > $pages_num-$mid) { $begin = $pages_num-$show_page_num+1; }else { $begin = $page-$mid+1; } /** * patch for param; 保留原有的查询条件. * */ $param = $_SERVER["QUERY_STRING"]; $pattern = "/&page=(\d)/i"; $replacement = ""; $param = preg_replace($pattern, $replacement, $param); if($begin<0) $begin = 1; if($begin!=1) $nav .= " <a href='?$param&page=1' title='1页' class ='a_nav'><< 首页</a> "; if($page>1) $nav .= " <a href='?$param&page=".($page-1)."' title='".($page-1)."页' class ='a_nav'><<上一页</a> "; $end = ($begin+$show_page_num>$pages_num)?$pages_num+1:$begin+$show_page_num; for($i=$begin; $i<$end; $i++) { $nav .=($page!=$i)?" <a href='?$param&page=$i' class = 'page' title='{$i}页'>$i</a> ":" <span class = 'page_select'>$i</span> "; } if($page<$pages_num) $nav .= " <a href='?$param&page=".($page+1)."' title='".($page+1)."页' class ='a_nav'>下一页 >></a> "; if($end!=$pages_num+1) $nav .= " <a href='?$param&page=$pages_num' title='{$pages_num}页' class ='a_nav'>尾页 >></a> "; break; //91061 2008版分页. case 'nav5' : if($show_page_num) $this->show_page_num = $show_page_num; $page = $this->page; $show_page_num = $this->show_page_num; $pages_num = $this->pages_num; $param = $this->params; $mid = ceil(($show_page_num+1)/2); $nav = ''; if($page<=$mid ) { $begin = 1; }else if($page > $pages_num-$mid) { $begin = $pages_num-$show_page_num+1; }else { $begin = $page-$mid+1; } /** * patch for param; 保留原有的查询条件. * */ $param = $_SERVER["QUERY_STRING"]; $pattern = "/&page=(\d)/i"; $replacement = ""; $param = preg_replace($pattern, $replacement, $param); if($begin<0) $begin = 1; if($begin!=1) $nav .= "<li><a class='page_flip1' title='到首页' href='?$param&page=1'>首页</a></li>"; //<li><a class="page_flip2" title="上一页" href="#">上一页</a></li> if($page>1) $nav .= "<li> <a href='?$param&page=".($page-1)."' title='".($page-1)."页' class='page_pre'></a> </li>"; $end = ($begin+$show_page_num>$pages_num)?$pages_num+1:$begin+$show_page_num; for($i=$begin; $i<$end; $i++) { $nav .=($page!=$i)?"<li><a href='?$param&page=$i' class = 'page_num' title='{$i}页'>$i</a></li>":"<li><a href='?$param&page=$i' class = 'page_sele' title='{$i}页'>$i</a></li>"; } if($page<$pages_num) $nav .= "<li> <a href='?$param&page=".($page+1)."' title='".($page+1)."页' class ='page_next'></a> </li> "; if($end!=$pages_num+1) $nav .= "<li> <a href='?$param&page=$pages_num' title='{$pages_num}页' class ='page_flip1'>尾页 >></a> </li> "; break; /*直转 */ case 'listjump': $nav = ' <select onchange="location.href=\'?'.$this->params.'&page=\'+this.value;"><script language="JavaScript"><!-- for(i=1; i<='.$this->pages_num.'; i++) { document.write("<option value="+i+(i=='.$this->page.'?" selected":"")+">"+i+"</option>"); }//--></script></select> 页'; break; case 'inputjump': return "<script language='javascript'>function pagejump(){if (document.all.pagejmp.value == ''|| document.all.pagejmp.value < 0 ) {document.all.pagejmp.focus();alert('转页搿?;return false;}else{this.location.href = '?page='+document.all.pagejmp.value+'&".$this->params."'; target = '_self';}}</script> 转 <input name=pagejmp size=2 onkeydown='if(window.event.keyCode==13) pagejump();'> 页 <img src=".gd('user')."images/go1.gif align=absmiddle onclick='pagejump();' style='cursor:hand;'>"; break; case 'imagejump': return "<script language='javascript'>function pagejump(){if (document.all.pagejmp.value == ''|| document.all.pagejmp.value < 0 ) {document.all.pagejmp.focus();alert('转页搿?;return false;}else{this.location.href = '?page='+document.all.pagejmp.value+'&".$this->params."'; target = '_self';}}</script> 转 <input name=pagejmp size=4 onkeydown='if(window.event.keyCode==13) pagejump();' style='border:1px solid #424242; height:16px;'> 页 <img src=".gd('magzine')."images/go.gif align=absmiddle onclick='pagejump();' style='cursor:hand;' width=25 height=17>"; break; default: $nav = ''; } return $nav; }}/** * 数据库初始化问题。 */function db_init() { global $db; $db = new db(); $db->conn(); $db->setdb("longsmartcn");}?> 【散分】看看错误使用“引用”的恶果,你能看出是为什么吗? 菜鸟请教一个数组问题 数据库问题 请问php怎么输出xml? 有哪些好的国外的开源代码的站点? 弄了5天完成的一个不需加载domxml的php&xml留言簿,分享一下吧,大家下载源码说说代码的不足之处^^ 请问这样的错误是怎么回事。。 ftp 功能 ??? 一个CSS问题? 关于用php上传文件!!! 拜码头 ,可惜只有22分了, 控制同台计算机重复投票问题
init()是class 里的,怎么引用外面的变量
不管理怎么说,这个类也经历了八年多的历史了,应该很稳定吧<?
/**
* 数据库类.
*
* 封装常见的数据库操作,包括分页处理.
*
* @author 徐兴
* @package lib
* @version v1.0
* @copyright juwangTech.
*
*/class db {
/**
* 可以选择mysql oracle sql
* @access public
* @var 数据库类型
*/
public $dbtype='mysql';
/**
* 默认的数据库连接所用的用户名.
* @access public
* @var 数据库用户名
*/
public $user='';
/**
* 默认的数据库连接所用的用户密码
* @access public
* @var 数据库密码
*/
public $pass='';
/**
* 数据库主机地址,本机默认写localhost
* @access public
* @var 数据库主机地址
*/
public $host=''; /**
* 指定的不当前操作的数据库
* @access public
* @var 数据库,指定的库
*/
public $database=''; /**
* 数据库的连接句柄
* @access public
* @var 句柄
*/
public $handle;
/**
* 记录集
* @access public
* @var 记录集
*/
public $rs = array();
/**
* 最后一次记录集
* @access public
* @var 最后一次记录集
*/
public $last_rs = '';
/**
* 分页记录中一页数据的行数
* @access public
* @var 分页记录中一页数据的行数
*/
public $rows_num=0; //记录行数
public $page=0; //页
public $pages_num=0; //页数
public $rows_per_page=0; //每页记录行数
public $rows_offset=0; //行偏移,使用较少
public $params=''; //参数
public $show_page_num=0; //页式2时示页(为)
public $func_ary = array(
'farray' => 'mysql_fetch_array',
'fnum' => 'mysql_fetch_row',
'ffield' => 'mysql_fetch_assoc',
'fobject' => 'mysql_fetch_object',
);
/**
* 指定数据库类型,是mysql 还是sql,还是orecle.
* @param 数据库的类型 $type
* @return bool
*/
function __construct( $type='mysql' ) {
if( $type!='' ) $this->dbtype = $type;
if( !$this->func_ary[$this->dbtype] ) {
return false;
}else {
return true;
}
}
/**
* *创建一个数据库的连接.
*
* @param string $host -主机名称
* @param string $user -数据库用户名
* @param 数据库用户密码 $pass
* @return 数据库句柄.handle
*/
function conn( $host = 'localhost' , $user = 'longsmartcn' , $pass = '57202240' ) {
if( gettype( $host ) == 'resource' ) {
$this->handle = $host;
}else {
if( $host != '' ) $this->host = $host;
if( $user != '') $this->user = $user;
if( $pass != '') $this->pass = $pass;
$this->handle = mysql_connect( $this->host , $this->user , $this->pass , false , MYSQL_CLIENT_COMPRESS ) or die( "系统忙,请稍厚" );
// $this->query( "SET NAMES utf8") or die( "set names utf-8 失败" );
return $this->handle;
}
} /**
* *关闭数据库连接.
*
*/
function close() {
@mysql_close($this->handle);
} /**
* *指定所选的数据库.
*
* @param 指定的当前操作的数据库名. $database
*/
function setdb( $database = 'pm' ) {
if( $database != '' ) $this->database = $database;
@mysql_select_db( $this->database , $this->handle );
} /**
* 执行一个sql语句.
* @param 查询语句,支持单个sql和数组模式.。 $sql
* @return
*/
function query( $sql ) {
if( is_array( $sql ) ) {
for($i=0; $i<sizeof($sql); $i++) {
$tmp = @mysql_query($sql[$i],$this->handle);
}
return $tmp;
}else {
return @mysql_query($sql,$this->handle);
}
} /**
* 取出最新插入数据库的id号.
* @return int
*/
function insid() {
return @mysql_insert_id($this->handle);
} /**
* 获取影响的行数.
*/
function affrow() {
return @mysql_affected_rows($this->handle);
} /* */
function err() {
return array(@mysql_errno(), @mysql_error($this->handle));
} /* 已记录集方式得到记录本 */
function rs( $sql = '' , $rs_name = '' ) {
if( $rs_name == '' && $this->last_rs == '') {
$rs_name='rs';
}elseif( $rs_name == '' ) {
$rs_name = $this->last_rs;
}
$sql_tmp = is_array( $sql )? $sql [ sizeof( $sql ) ] : $sql;
if( $sql_tmp != '' && $this->result[ $rs_name ][ 0 ] != $sql ){
$tmp = $this->query( $sql );
$this->result[ $rs_name ] = array( $sql_tmp,$tmp );
$this->last_rs = $rs_name;
}
return $this->result[ $rs_name ][1];
} /* 以数组方式取得 */
function rn( $sql='' , $type = 'num' , $rs_name = '',$num = 1) {
if( !$type ) $type = 'num';
if( !in_array( $type , array( 'num' , 'field' , 'array' , 'object' ))) return false;
if( $num == 1 ) {
return @$this->func_ary[ 'f'. $type ]( $this->rs( $sql , $rs_name));
}elseif( $num == 'all' ) {
while( $tmp[] = @$this->func_ary[ 'f'.$type ]( $this->rs( $sql , $rs_name ))) {
}
}elseif( is_int( $num )) {
for( $i = 0 ; $i < $num ; $i++ ) {
$tmp1 = @$this->func_ary[ 'f'.$type ]( $this->rs( $sql , $rs_name ) );
if( $tmp1 === false ) {
break;
}else {
$tmp[] = $tmp1;
}
}
}else {
return false;
}
return $tmp;
} /**
* 得到单值
*/
function val( $sql ) {
if( DEBUG == "1" ){echo $sql."<hr/>";}
$tmp = mysql_fetch_row($this->query($sql));
if( is_null($tmp)) {
echo "没有你要取得值";
}
return $tmp[0];
}
/**
* 得到单值 ,多个的
* @param 查询语句 $sql
*/
function vals( $sql ) {
if( DEBUG == "1" ){echo $sql."<hr/>";}
$tmp = mysql_fetch_row($this->query($sql));
if( is_null($tmp)) {
echo "没有你要取得值";
}
return $tmp;
}
/**
* 通过表中的一个字段的值来取得另个字段,或者是一组数据的方法.
* @param 值的编号. $id
* @param 需要取得的数据的字段名. $attrName
* */
function getValue($id,$attrName,$table,$condKey)
{
$table = $table;
$cond = "where $condKey = '$id'";
$sql = "select $attrName from $table $cond";
if(DEBUG == "1")
{
echo "getValue".$sql."<hr/>";
}
if (strpos($attrName, ',')) {
$value = $this->vals( $sql );
} else {
$value = $this->val( $sql );
}
if(DEBUG == "1")
{
echo "你所求的值为 " . var_dump( $value ) . " |";
}
return $value;
}
/**
* 得到行数
*/
function num($sql='',$rs_name='rs') {
return @mysql_num_rows($this->rs($sql,$rs_name));
}
/**
* 清空记录集
*/
function clean($rs_name) {
if(is_array($rs_name)) {
foreach($rs_name as $val) {
@mysql_free_result($this->result[$rs_name][1]);
unset($this->result[$val]);
}
}else {
@mysql_free_result($this->result[$rs_name][1]);
unset($this->result[$rs_name]);
}
}
/**
* 重设记录集
*/
function reset ($rs_name) {
if(is_array($rs_name)) {
foreach($rs_name as $val) {
@mysql_data_seek($this->result[$val][1],0);
}
}else {
@mysql_data_seek($this->result[$rs_name][1],0);
}
}
/**
* 指定分页
*/
function pnum($page,$rows_num,$rows_per_page=20,$offset=0) {
if($rows_num) $this->rows_num = $rows_num;
if($rows_per_page) $this->rows_per_page = $rows_per_page;
if($offset) $this->offset = $offset;
if(!$page) $page =1;
$this->page = $page;
$this->pages_num = ceil(($this->rows_num-$this->offset)/$this->rows_per_page);
Return $this->pages_num;
} /* 进行分页处理 */
function page($sql,$rs_name='') {
switch($this->dbtype) {
case 'mysql':
$sql = $sql." limit ".(($this->page-1)*$this->rows_per_page+$this->offset).", ".$this->rows_per_page;
return $this->rs($sql,$rs_name);
break;
}
} /**
* * 输出分页条.
*
* @param 分页的格式类型 $style
* @param 显示多少个分页标签. $show_page_num
*/
function nav( $style='nav1', $show_page_num=15 ) {
switch( $style ) {
case 'nav2':
for( $i=1 ; $i <= $this->pages_num; $i++ ) {
if( $i == $this->page ) {
$nav .= " <font style='font-size:12pt' face='Verdana'><b> $i </b></font> ";
}else {
$nav .= " <a href=?page=$i&". $this->params ."><font style='font-size:9pt;' face='Verdana'>$i</font></a> ";
}
}
$nav = " $nav 页";
break;
case 'nav3':
echo "
<style>
.page, .page_select
{
width:25px;
text-decoration: none;
text-align: center;
border: 1px solid #092FB3;
font-size:9pt;
float:left;
line-height:25px;
margin-right:2px;
}
.page{
color:#092FB3;
background-color: #EEF8FF;
display:block;
}
.page_select
{
color:#EEF8FF;
background-color: #092FB3;
font-weight: bolder;
}
.a_nav
{
color:#092FB3;
text-decoration: none;
text-align: center;
font-size:9pt;
line-height:25px;
float:left;
}
</style>
";
if($show_page_num) $this->show_page_num = $show_page_num;
$page = $this->page;
$show_page_num = $this->show_page_num;
$pages_num = $this->pages_num;
$param = $this->params;
$mid = ceil(($show_page_num+1)/2);
$nav = '';
if($page<=$mid ) {
$begin = 1;
}else if($page > $pages_num-$mid) {
$begin = $pages_num-$show_page_num+1;
}else {
$begin = $page-$mid+1;
}
/**
* patch for param; 保留原有的查询条件.
* */
$param = $_SERVER["QUERY_STRING"];
$pattern = "/&page=(\d)/i";
$replacement = "";
$param = preg_replace($pattern, $replacement, $param);
if($begin<0) $begin = 1;
if($begin!=1) $nav .= " <a href='?$param&page=1' title='1页' class ='a_nav'><< 首页</a> ";
if($page>1) $nav .= " <a href='?$param&page=".($page-1)."' title='".($page-1)."页' class ='a_nav'><<上一页</a> ";
$end = ($begin+$show_page_num>$pages_num)?$pages_num+1:$begin+$show_page_num;
for($i=$begin; $i<$end; $i++) {
$nav .=($page!=$i)?" <a href='?$param&page=$i' class = 'page' title='{$i}页'>$i</a> ":" <span class = 'page_select'>$i</span> ";
}
if($page<$pages_num) $nav .= " <a href='?$param&page=".($page+1)."' title='".($page+1)."页' class ='a_nav'>下一页 >></a> ";
if($end!=$pages_num+1) $nav .= " <a href='?$param&page=$pages_num' title='{$pages_num}页' class ='a_nav'>尾页 >></a> ";
break;
//91061 2008版分页.
case 'nav5' :
if($show_page_num) $this->show_page_num = $show_page_num;
$page = $this->page;
$show_page_num = $this->show_page_num;
$pages_num = $this->pages_num;
$param = $this->params;
$mid = ceil(($show_page_num+1)/2);
$nav = '';
if($page<=$mid ) {
$begin = 1;
}else if($page > $pages_num-$mid) {
$begin = $pages_num-$show_page_num+1;
}else {
$begin = $page-$mid+1;
}
/**
* patch for param; 保留原有的查询条件.
* */
$param = $_SERVER["QUERY_STRING"];
$pattern = "/&page=(\d)/i";
$replacement = "";
$param = preg_replace($pattern, $replacement, $param);
if($begin<0) $begin = 1;
if($begin!=1) $nav .= "<li><a class='page_flip1' title='到首页' href='?$param&page=1'>首页</a></li>";
//<li><a class="page_flip2" title="上一页" href="#">上一页</a></li>
if($page>1) $nav .= "<li> <a href='?$param&page=".($page-1)."' title='".($page-1)."页' class='page_pre'></a> </li>";
$end = ($begin+$show_page_num>$pages_num)?$pages_num+1:$begin+$show_page_num;
for($i=$begin; $i<$end; $i++) {
$nav .=($page!=$i)?"<li><a href='?$param&page=$i' class = 'page_num' title='{$i}页'>$i</a></li>":"<li><a href='?$param&page=$i' class = 'page_sele' title='{$i}页'>$i</a></li>";
}
if($page<$pages_num) $nav .= "<li> <a href='?$param&page=".($page+1)."' title='".($page+1)."页' class ='page_next'></a> </li> ";
if($end!=$pages_num+1) $nav .= "<li> <a href='?$param&page=$pages_num' title='{$pages_num}页' class ='page_flip1'>尾页 >></a> </li> ";
break;
/*直转 */
case 'listjump':
$nav = '
<select onchange="location.href=\'?'.$this->params.'&page=\'+this.value;">
<script language="JavaScript">
<!--
for(i=1; i<='.$this->pages_num.'; i++) {
document.write("<option value="+i+(i=='.$this->page.'?" selected":"")+">"+i+"</option>");
}
//-->
</script>
</select> 页';
break;
case 'inputjump':
return "<script language='javascript'>function pagejump(){if (document.all.pagejmp.value == ''|| document.all.pagejmp.value < 0 ) {document.all.pagejmp.focus();alert('转页搿?;return false;}else{this.location.href = '?page='+document.all.pagejmp.value+'&".$this->params."'; target = '_self';}}</script> 转 <input name=pagejmp size=2 onkeydown='if(window.event.keyCode==13) pagejump();'> 页 <img src=".gd('user')."images/go1.gif align=absmiddle onclick='pagejump();' style='cursor:hand;'>";
break;
case 'imagejump':
return "<script language='javascript'>function pagejump(){if (document.all.pagejmp.value == ''|| document.all.pagejmp.value < 0 ) {document.all.pagejmp.focus();alert('转页搿?;return false;}else{this.location.href = '?page='+document.all.pagejmp.value+'&".$this->params."'; target = '_self';}}</script> 转 <input name=pagejmp size=4 onkeydown='if(window.event.keyCode==13) pagejump();' style='border:1px solid #424242; height:16px;'> 页 <img src=".gd('magzine')."images/go.gif align=absmiddle onclick='pagejump();' style='cursor:hand;' width=25 height=17>";
break;
default:
$nav = '';
}
return $nav;
}
}
/**
* 数据库初始化问题。
*/
function db_init() {
global $db;
$db = new db();
$db->conn();
$db->setdb("longsmartcn");
}?>