求php的mssql翻頁程式!

來源:互聯網
上載者:User
程式|翻頁 PHP代碼:--------------------------------------------------------------------------------

<html>
<head>
<title>PHP分頁</title>
</head>
<body>
<?
//為了便於理解和更快地應用到工作中去,我們以MS SQL Server的NorthWind資料庫Customers表為例。

$pageSize= 4; //每頁顯示的記錄數
$hostname = "localhost"; //MSSQL Server
$dbuser = "sa"; //使用者名稱
$dbpasswd = ""; //密碼

//串連資料庫
$conn = mssql_connect($hostname,$dbuser,$dbpasswd) or die("無法串連資料庫伺服器!");

//選擇資料庫,為了方便,這裡以MSSQL Server的pubs資料庫為例
$db = mssql_select_db("NorthWind",$conn) or die("無法串連資料庫!");

//以Customers表為例,構建查詢字串
$sql = "SELECT * FROM Customers";

//執行查詢語句
$res = mssql_query($sql) or die("無法執行SQL:$sql");

//$page變數標示當前顯示的頁
if(!isset($page)) $page=1;
if($page==0) $page=1;

//得到當前查詢到的紀錄數 $totalNum
$totalNum= mssql_num_rows($res);
if($totalNum<=0)
{
echo "<p align=center>沒有紀錄";
exit;
}

//得到最大頁碼數maxPage
$maxPage = (int)ceil($totalNum/$pageSize);

if((int)$page > $maxPage)
$page=$maxPage;

?>
<table align="center" width="90%" border="1" cellspacing="2" cellpadding="2">
<tr bgcolor="#F7F2ff">
<?
//顯示表格頭
for($i = 0; $i < mssql_num_fields($res); $i++)
{
echo "<td>".mssql_field_name($res,$i)."</td>" ;
}
?>
</tr>
<?
//根據位移量($page - 1)*$pageSize,運用mssql_data_seek函數得到要顯示的頁面
if( mssql_data_seek($res,($page-1)*$pageSize) )
{
$i=0;
//迴圈顯示當前紀錄集
for($i;$i<$pageSize;$i++){
echo "<tr>";

//得到當前紀錄,填充到數組$row;
$row= mssql_fetch_row($res);
if($row)
{
//迴圈顯示當前紀錄的所有欄位值
for($j = 0;$j < count($row);$j++)
{
echo "<td>".$row[$j]."</td>";
}
}
echo "</tr>";
}
}
?>
</table>
<br>
<hr size=1>
<?
$style = "2";
switch($style)
{
//格式: [首頁] [上頁] [下頁] [末頁]
case "1":
{
$out = "<div align=center>";
$out .= "[共".$maxPage."頁]  [第".$page."頁]  ";

//首頁和上頁的連結
if( $totalNum>1 && $page>1)
{
$prevPage=$page-1;
$out .= " <a href=$PHP_SELF?page=1>[首頁]</a>  ";
$out .= " <a href=$PHP_SELF?page=$prevPage >[上頁]</a>  ";
}

//下頁和末頁的連結
if( $page>=1 && $page<$maxPage)
{
$nextPage= $page+1;
$out .= " <a href=$PHP_SELF?page=$nextPage >[下頁]</a>  ";
$out .= " <a href=$PHP_SELF?page=$maxPage>[末頁]</a>";
}
$out .= "</div>";
echo $out;
}
break;

//格式: 1 2 3 4 5
case "2":
{
$linkNum = "4";//頁面上顯示串連的個數顯示
$out = "<div align=center>第 ";
$start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1";
$end = ($page+round($linkNum/2))<$maxPage ? ($page+round($linkNum/2)) : $maxPage;
if($page<>1)
$out .= "<a href='?page=1' alt='首頁'>1</a>  <<  ";
//for($t=1;$t<=$maxPage;$t++)
for($t=$start;$t<=$end;$t++)
{
$out .= ($page==$t) ? "<font color='red'><b>".$t."</b></font>  " : "<a href='?page=$t'>$t</a>  ";
}
if($page<>$maxPage)
$out .= ">>  <a href='?page=$maxPage' alt='末頁'>$maxPage</a>";
$out .= " 頁</div>";
echo $out;
}
break;

//select下拉框直接跳轉
case "3":
{
$out = "<div align=center>";
$out .= "第 <select onchange=\"location='?page='+this.options[this.selectedIndex].value\">";
for($i=1; $i<=$maxPage; $i++) {
$out .= "<option value='$i'".(($i==$page) ? ' selected' : '').">$i</option>";
}
$out .= "</select> 頁";
$out .= "</div>";
echo $out;
}
break;
default:
echo "";
break;
}

?>
</body>
</html>


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.