class.php: <? /* ----------------------------------------------------------------------------------------------- 名称:TurnPage 作用:分页显示 成员函数: Entrance():类的入口,参数是所有成员函数的参数 SelectData($connection,$query):选择数据的函数,返回一个数组 ShowData($array,$i,$j):显示各个字段值的函数,返回一个值 MakeTable($array,$intPageBegin,$intPageEnd):生成表格的函数,根据要显示的字段的个数生成相应的表格,参数分别是:数组,每页开始的信息序号,每页结束的信息序号 MakeLink($parameter=null):显示翻页的链接,参数可选 GetFileName(): 取出当前执行文件名字,返回文件名 函数之间的关系: ----------------------------------------------------------------------------------------------- */ class TurnPage { var $strArray; var $cols; var $rows; var $strFieldName; var $intPageBegin; var $intPageEnd; function Entrance($connection,$query) { $myArray=$this->SelectData($connection,$query); $this->GetFileName(); $this->MakeLink($parameter=null); $this->MakeTable($myArray,$this->intPageBegin,$this->intPageEnd); } function SelectData($connection,$query) { $result=@mysql_query($query,$connection) or die("unable to select the data!"); $intFieldsNum=mysql_num_fields($result); for($a=0;$a<$intFieldsNum;$a++) //取得选择的各个字段的名字 { $this->strFieldName[$a]=mysql_field_name($result,$a); } $this->cols=$intFieldsNum; $count=0; while($rows=mysql_fetch_row($result)) { for($i=0;$i<$intFieldsNum;$i++) { $data[$count][$i]=trim($rows[$i]); } $count++; } $this->rows=count($data); $this->strArray=$data; return $this->strArray; } function ShowData($array,$i,$j) { return $array[$i][$j]; } function MakeTable($array,$intPageBegin,$intPageEnd) { echo "<table border=0 width=100% align=center cellspacing=1 cellpadding=5 bgcolor=#004080>"; echo "<tr height=20 bgcolor=#0080C0 align=center>"; for($m=0;$m<$this->cols;$m++) { echo "<td><font color=white>".$this->strFieldName[$m]."</font></td>"; } echo "</tr>"; for($i=$intPageBegin;$i<$intPageEnd;$i++) { if ($i%2==0) { $bgColor="#D2F0FF"; } else { $bgColor="#ffffff"; } echo "<tr bgcolor=".$bgColor." align=center onMouseOver=this.style.backgroundColor='#FFCC66' onMouseOut=this.style.backgroundColor=' onClick=this.style.backgroundColor='#cccccc'>"; for($j=0;$j<$this->cols;$j++) { echo "<td>".$this->ShowData($array,$i,$j)."</td>"; } echo "</tr>"; } echo "</table>"; } function GetFileName() { $strPath=$_SERVER['PHP_SELF']; $strFileName=trim(substr($strPath,(strrpos($strPath,"/")+1))); return $strFileName; } function MakeLink($parameter=null) { if($parameter==null) { $strParam=null; } else { $strParam=$parameter; } if($_GET["intPage"]==null) { $intPage=1; } else { $intPage=trim($_GET['intPage']); } $intPerPage=10; $total=$this->rows; $strFile=$this->GetFileName(); $intPageBegin=$intPerPage*$intPage-$intPerPage; $this->intPageBegin=$intPageBegin; if ($intPage*$intPerPage<$total) { $intPageEnd=$intPageBegin+$intPerPage; } else { $intPageEnd=$total; } $this->intPageEnd=$intPageEnd; echo "<table width=100% border=0><tr><td width=60% align=left>信息总数:".$this->rows."</td><td width=20%> "; if($intPage>1) { echo "<a href=".$strFile."?intPage=".($intPage-1).">上一页</a>"; } echo "</td><td width=20%> "; if ($intPage*$intPerPage<$total) { echo "<a href=".$strFile."?intPage=".($intPage+1).">下一页</a>"; } echo "</td></tr></table>"; } } ?> test.php: <? include("../common/connection.php"); //连接数据库的操作 include("../common/class.php"); //把上面的文件包含近来 $query="select * from uphoto order by intUID asc"; $test=new TurnPage; $test->Entrance($connection,$query); ?> |