<table width="95%" cellspacing="10">
<?
//////////////显示页号模块///////////////////////////////////////
$cols_num=2; //列数
$rows_num=5; //行数
$image_width="80";//图片格宽度
$width="50%"; //文字介绍每格宽度
$limit=$cols_num*$rows_num; //每页显示总记录数
if($brand=="")
{
$sqlcount="select * from shopgoods where nclassid='$nclass' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&pageno=";
}
else
{
$sqlcount="select * from shopgoods where nclassid='$nclass' and goodsbrand='$brand' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&brand=$brand&pageno=";
}
$res=mysql_query($sqlcount);
$num=mysql_num_rows($res); //总共记录条数(即符合条件商品总数)
$pagemax=ceil($num/$limit); //总共页数(即最后页)
if($pagemax<$pageno){$pageno=$pagemax;}
if($pageno<'1'){$pageno='1';}
$qian=$pageno-1;
$hou=$pageno+1;
if($qian==0){$qian=1;}
if($hou>$pagemax){$hou=$pagemax;}
echo "<br> >> 共".$num."件商品 ";
echo "<a href=".$pageherf."1> 最前页 </a>";
echo "<a href=".$pageherf."$qian> 前一页 </a>";
echo "<a href=".$pageherf."$hou> 下一页 </a>";
echo "<a href=".$pageherf."$pagemax> 最后页 </a>";
echo "页次:<font color=red>".$pageno."</font>/".$pagemax."页 ";
echo $limit."件商品/页";
//////////显示物品模块/////////////////////////////////////////
$first_num=($pageno-1)*$limit; //每页第一条留言起始号码
$last_num=$limit*$pageno; //每页最后一条留言起始号码
$t_limit=$limit; //实际显示条数
$t_rows_num=$rows_num; //实际行数
$t_cols_num=$cols_num; //实际列数
if($pageno==$pagemax){$t_limit=$limit-($pageno*$limit-$num);} //如果最后一页不满实际显示条数
if($pageno==$pagemax){$t_rows_num=ceil($t_limit/$cols_num);} //如果最后一页不满实际显示行数
@mysql_data_seek($res,$first_num);//使指针指向每页第一条数据在库中的位置
for($j=0;$j<$limit;$j++){ $row[$j]=Mysql_fetch_row($res);}//每页数据都存入row[][]数组
$firse_rows_num=0; //初始化每行第一条数据号
$last_rows_num=$firse_rows_num+$t_cols_num; //初始化每行最后一条数据号
for($i=0;$i<$t_rows_num;$i++)
{
echo "<tr>";
for($k=$firse_rows_num;$k<$last_rows_num;$k++)
{
if($row[$k][2]=="") break;
echo "<td width=$image_width align=center valign=middle><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">";
if($row[$k][9]==""){ echo "[暂无图片]";}
else{ echo "<img src=".$row[$k][9]." width=80 height=80 border=0 alt=详细信息>";}
echo "</a>";
echo "<br><br><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">[详细信息]</a>";
echo "<br><img src=../image1/shopcar.gif alt=订购></td>";
echo "<td width=$width align=left valign=top><b>名称:</b><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">".$row[$k][2]."</a>";
echo "<br><font color=red><b>价格:</b>".$row[$k][6]."</font>";
echo "<br><b>数量:</b>".$row[$k][5];
echo "<br><b>简介:</b>".$row[$k][4]."</td>";
}
$firse_rows_num=$last_rows_num;
$last_rows_num=$firse_rows_num+$t_cols_num;
echo "</tr>";
}
?>
</table>
刚做完的一个,还没来得及整理成函数!有点乱,不过功能还可以:)
<?
//////////////显示页号模块///////////////////////////////////////
$cols_num=2; //列数
$rows_num=5; //行数
$image_width="80";//图片格宽度
$width="50%"; //文字介绍每格宽度
$limit=$cols_num*$rows_num; //每页显示总记录数
if($brand=="")
{
$sqlcount="select * from shopgoods where nclassid='$nclass' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&pageno=";
}
else
{
$sqlcount="select * from shopgoods where nclassid='$nclass' and goodsbrand='$brand' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&brand=$brand&pageno=";
}
$res=mysql_query($sqlcount);
$num=mysql_num_rows($res); //总共记录条数(即符合条件商品总数)
$pagemax=ceil($num/$limit); //总共页数(即最后页)
if($pagemax<$pageno){$pageno=$pagemax;}
if($pageno<'1'){$pageno='1';}
$qian=$pageno-1;
$hou=$pageno+1;
if($qian==0){$qian=1;}
if($hou>$pagemax){$hou=$pagemax;}
echo "<br> >> 共".$num."件商品 ";
echo "<a href=".$pageherf."1> 最前页 </a>";
echo "<a href=".$pageherf."$qian> 前一页 </a>";
echo "<a href=".$pageherf."$hou> 下一页 </a>";
echo "<a href=".$pageherf."$pagemax> 最后页 </a>";
echo "页次:<font color=red>".$pageno."</font>/".$pagemax."页 ";
echo $limit."件商品/页";
//////////显示物品模块/////////////////////////////////////////
$first_num=($pageno-1)*$limit; //每页第一条留言起始号码
$last_num=$limit*$pageno; //每页最后一条留言起始号码
$t_limit=$limit; //实际显示条数
$t_rows_num=$rows_num; //实际行数
$t_cols_num=$cols_num; //实际列数
if($pageno==$pagemax){$t_limit=$limit-($pageno*$limit-$num);} //如果最后一页不满实际显示条数
if($pageno==$pagemax){$t_rows_num=ceil($t_limit/$cols_num);} //如果最后一页不满实际显示行数
@mysql_data_seek($res,$first_num);//使指针指向每页第一条数据在库中的位置
for($j=0;$j<$limit;$j++){ $row[$j]=Mysql_fetch_row($res);}//每页数据都存入row[][]数组
$firse_rows_num=0; //初始化每行第一条数据号
$last_rows_num=$firse_rows_num+$t_cols_num; //初始化每行最后一条数据号
for($i=0;$i<$t_rows_num;$i++)
{
echo "<tr>";
for($k=$firse_rows_num;$k<$last_rows_num;$k++)
{
if($row[$k][2]=="") break;
echo "<td width=$image_width align=center valign=middle><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">";
if($row[$k][9]==""){ echo "[暂无图片]";}
else{ echo "<img src=".$row[$k][9]." width=80 height=80 border=0 alt=详细信息>";}
echo "</a>";
echo "<br><br><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">[详细信息]</a>";
echo "<br><img src=../image1/shopcar.gif alt=订购></td>";
echo "<td width=$width align=left valign=top><b>名称:</b><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">".$row[$k][2]."</a>";
echo "<br><font color=red><b>价格:</b>".$row[$k][6]."</font>";
echo "<br><b>数量:</b>".$row[$k][5];
echo "<br><b>简介:</b>".$row[$k][4]."</td>";
}
$firse_rows_num=$last_rows_num;
$last_rows_num=$firse_rows_num+$t_cols_num;
echo "</tr>";
}
?>
</table>
刚做完的一个,还没来得及整理成函数!有点乱,不过功能还可以:)
TOracleViewPage v 2.0
日期:2000-9-23 分页显示Oracle数据库记录的类
更新日期:2000-10-19
增加显示TopRecord的功能,允许第一页显示的记录数与其它页不同。 作者:sharetop
email:[email protected] ***********************************************/
class TOracleViewPage { var $Table; //表名
var $MaxLine; //每页显示行数 var $LinkId; //数据库连接号
var $Id; //排序参考字段 var $Offset; //记录偏移量
var $Total; //记录总数
var $Number; //本页读取的记录数
var $TopNumber;//读新记录时实际取出的记录数
var $Result; //读出的结果
var $TopResult;//读新记录时的结果 var $TheFirstPage;//特殊指定第一页的链接
var $StartRec; //指定第二页的起始记录号 var $TPages; //总页数
var $CPages; //当前页数 var $TGroup;
var $PGroup; //每页显示的页号个数
var $CGroup; var $Condition; //显示条件 如:where id='$id' order by id desc
var $PageQuery; //分页显示要传递的参数
//-------------------------------------
// 以下构造函数、析构函数及初始化函数
//------------------------------------- //构造函数
//参数:表名、最大行数、分页参考的字段、每页显示的页号数 function TOracleViewPage($TB,$ML,$id){
global $offset; $this->Table=$TB;
$this->MaxLine=$ML;
$this->Id=$id; $this->StartRec=0;
if(isset($offset)) $this->Offset=$offset;
else $this->Offset=0; $this->Condition="";
$this->TheFirstPage=NULL;
$this->PageQury=NULL;
} //初始化
//参数:用户名、密码、数据库
function InitDB($user,$password,$db){
if (PHP_OS == "WINNT") $dllid=dl("php3_oci80.dll");
$this->LinkId = OCILogon($user,$password,$db);
} //断开
function Destroy(){
OCILogoff($this->LinkId);
} //-------------------------
// Set 函数
//------------------------- //设置显示条件
//如:where id='$id' order by id desc
//要求是字串,符合SQL语法(本字串将加在SQL语句后) function SetCondition($s){
$this->Condition=$s;
} //设置每组的显示个数
function SetNumGroup($pg){
$this->PGroup=$pg;
}
//设置首页,如无则为NULL
function SetFirstPage($fn){
$this->TheFirstPage=$fn;
}
//设置起始记录,如无则取默认0
function SetStartRecord($org){
$this->StartRec=$org;
} //设置传递参数
// key参数名 value参数值
// 如:setpagequery("id",$id);如有多个参数要传递,可多次调用本函数。 function SetPageQuery($key,$value){
$tmp[key]=$key; $tmp[value]=$value;
$this->PageQuery[]=$tmp;
} //--------------------------------
// Get 函数
//-------------------------------- //取记录总数
function GetTotalRec(){ $SQL="SELECT Count(*) AS total FROM ".$this->Table." ".$this->Condition; $stmt = OCIParse($this->LinkId,$SQL);
$bool = OCIExecute($stmt);
if (!$bool) {
echo "连接失败!";
OCILogoff($this->LinkId);
exit;
}
else {
OCIFetch($stmt);
$this->Total=OCIResult($stmt,1);
}
OCIFreeStatement($stmt);
} //取总页数、当前页
function GetPage(){
$this->TPages=ceil($this->Total/$this->MaxLine);
$this->CPages=ceil($this->Offset/$this->MaxLine)+1;
} //取总组数、当前组
function GetGroup() {
$this->TGroup=ceil($this->TPages/$this->PGroup);
$this->CGroup=ceil($this->CPages/$this->PGroup);
}
?>
--------------------------------------------------------------------------------
相关点评[0条]: 把这篇文章推荐给好友:
该文章还没有点评
--------------------------------------------------------------------------------
发表评论:
您的大名: