$id?=?@$_GET["id"];
創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋PVC花箱等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。
$res1?=?mysql_query("select?*?from?news?where?id".$id."?order?by?id?desc?limit?1");
if($rs1=mysql_fetch_array($res1))
{
echo?"上一篇:a?href='?id='.$rs1["id"]".$rs1["title"]."/abr?/";
}
else
{
echo?"上一篇:span沒有了/spanbr?/";
}
$res2?=?mysql_query("select?*?from?news?where?id".$id."?order?by?id?asc?limit?1");
if($rs2=mysql_fetch_array($res2))
{
echo?"下一篇:a?href='?id='.$rs2["id"]".$rs2["title"]."/a";
}
else
{
echo?"下一篇:span沒有了/span";
}
htmlhead
title分頁示例(php/title
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/head
body
?php
$pagesize=10; //設(shè)定每一頁顯示的記錄數(shù)
$conn=mysql_connect("localhost","root","jrq");
mysql_select_db("sj",$conn);
$rs = mysql_query( "select * from `dw_newsdata`",$conn); //這里有第二個(gè)可選參數(shù),指定打開的連接
//-----------------------------------------------------------------------------------------------//
//分頁邏輯處理
//-----------------------------------------------------------------------------------------------
$tmpArr = mysql_fetch_array($rs);
$numAL = mysql_num_rows($rs); //取得記錄總數(shù)$rs
$pages=intval($numAL/$pagesize); //計(jì)算總頁數(shù)
if ($numAL % $pagesize) $pages++;
//設(shè)置缺省頁碼
//↓判斷“當(dāng)前頁碼”是否賦值過
if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否則,設(shè)置為第一頁
//↓計(jì)算記錄偏移量
$offset=$pagesize*($page - 1);
//↓讀取指定記錄數(shù)
$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—當(dāng)前頁—記錄集!
$curNum = mysql_num_rows($rs); //$curNum - 當(dāng)前頁實(shí)際記錄數(shù),for循環(huán)輸出用
?
table border="0" width="80%"
tr
td width="50%" bgcolor="#E0E0E0"標(biāo)題/td
td width="50%" bgcolor="#E0E0E0"發(fā)布時(shí)間/td
/tr
?php
while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循環(huán)判斷
{
$i=0;
// for($a=0;$a$ColNum;$a++) //==for結(jié)束==
?
tr
td width="50%"?= $tmpArr[1]; //$tmpArr["news_title"] ; ?/td
td width="50%"?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?/td
/tr
?php
}//==while結(jié)束==
?
/table
?php
//============================//
// 翻頁顯示 一
//============================//
echo "p"; // align=center
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if ($page 1)
{
echo "a href='?page=".$first."'首頁/a ";
echo "a href='?page=".$prev."'上一頁/a ";
}
if ($page $pages)
{
echo "a href='?page=".$next."'下一頁/a ";
echo "a href='?page=".$last."'尾頁/a ";
}
//============================//
// 翻頁顯示 二
//============================//
echo " | 共有".$pages."頁(".$page."/".$pages.")";
for ($i=1;$i $page;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";} // 1-先輸出當(dāng)前頁之前的
if ($page 0) echo "[".$page."]";; // 2-再輸出當(dāng)前頁
for ($i=$page+1;$i=$pages;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";}// 3-接著輸出當(dāng)前頁之后
echo "轉(zhuǎn)到第 INPUT maxLength=3 size=3 value=".($page+1)." name=gotox 頁 INPUT hideFocus onclick=\"location.href='?page=gotox.value';\" type=button value=Go name=cmd_goto";
echo "/p";
?
/body
/html
網(wǎng)頁上做上一頁下一頁的具體方法如下:
這個(gè)將dreamweaver啟動(dòng)后,切換到代碼模試就可以編寫程序了
這種動(dòng)態(tài)網(wǎng)站程序都要連接數(shù)據(jù)庫,然后計(jì)算顯示記錄的數(shù)量及每頁要顯示的數(shù)量來分頁。
這里以php為例
這是一個(gè)分頁的類代碼
?php
class Page {
? ? private $total; ? ? ?//總記錄
? ? private $pagesize; ? ?//每頁顯示多少條
? ? private $limit; ? ? ? ? ?//limit
? ? private $page; ? ? ? ? ? //當(dāng)前頁碼
? ? private $pagenum; ? ? ?//總頁碼
? ? private $url; ? ? ? ? ? //地址
? ? private $bothnum; ? ? ?//兩邊保持?jǐn)?shù)字分頁的量
//構(gòu)造方法初始化
public function __construct($_total, $_pagesize) {
? ?$this-total = $_total ? $_total : 1;
? ?$this-pagesize = $_pagesize;
? ? $this-pagenum = ceil($this-total / $this-pagesize);
? ?$this-page = $this-setPage();
? ?$this-limit = "LIMIT ".($this-page-1)*$this-pagesize.",$this-pagesize";
? ?$this-url = $this-setUrl();
? ?$this-bothnum = 2;
}
//攔截器
private function __get($_key) {
? ?return $this-$_key;
}
//獲取當(dāng)前頁碼
private function setPage() {
? ?if (!empty($_GET['page'])) {
? ? ? ? ? if ($_GET['page'] 0) {
? ? ? ? ? ? ?if ($_GET['page'] $this-pagenum) {
? ? ? ? ? ? ? ? ? ? return $this-pagenum;
? ? ? ? ? ? ?} else {
? ? ? ? ? ? ? ? ? ? return $_GET['page'];
? ? ? ? ? ? ?}
? ? ? ? ? } else {
? ? ? ? ? ? ?return 1;
? ? ? ? ? }
? ?} else {
? ? ? ? ? return 1;
? ?}
}
//獲取地址
private function setUrl() {
? ?$_url = $_SERVER["REQUEST_URI"];
? ?$_par = parse_url($_url);
? ?if (isset($_par['query'])) {
? ? ? ? ? parse_str($_par['query'],$_query);
? ? ? ? ? unset($_query['page']);
? ? ? ? ? $_url = $_par['path'].'?'.http_build_query($_query);
? ?}
? ?return $_url;
} ? ? //數(shù)字目錄
private function pageList() {
? ?for ($i=$this-bothnum;$i=1;$i--) {
? ? ? $_page = $this-page-$i;
? ? ? if ($_page 1) continue;
? ? ? ? ? $_pagelist .= ' a href="'.$this-url.'page='.$_page.'"'.$_page.'/a ';
? ?}
? ?$_pagelist .= ' span class="me"'.$this-page.'/span ';
? ?for ($i=1;$i=$this-bothnum;$i++) {
? ? ? $_page = $this-page+$i;
? ? ? ? ? if ($_page $this-pagenum) break;
? ? ? ? ? $_pagelist .= ' a href="'.$this-url.'page='.$_page.'"'.$_page.'/a ';
? ?}
? ?return $_pagelist;
}
//首頁
private function first() {
? ?if ($this-page $this-bothnum+1) {
? ? ? ? ? return ' a href="'.$this-url.'"1/a ...';
? ?}
}
//上一頁
private function prev() {
? ?if ($this-page == 1) {
? ? ? ? ? return 'span class="disabled"上一頁/span';
? ?}
? ?return ' a href="'.$this-url.'page='.($this-page-1).'"上一頁/a ';
}
//下一頁
private function next() {
? ?if ($this-page == $this-pagenum) {
? ? ? ? ? return 'span class="disabled"下一頁/span';
? ?}
? ?return ' a href="'.$this-url.'page='.($this-page+1).'"下一頁/a ';
}
//尾頁
private function last() {
? ?if ($this-pagenum - $this-page $this-bothnum) {
? ? ? ? ? return ' ...a href="'.$this-url.'page='.$this-pagenum.'"'.$this-pagenum.'/a ';
? ?}
}
//分頁信息
public function showpage() {
? ?$_page .= $this-first();
? ?$_page .= $this-pageList();
? ?$_page .= $this-last();
? ?$_page .= $this-prev();
? ?$_page .= $this-next();
? ?return $_page;
}
}
?
在程序中實(shí)例化,就可以使用了,非常方便的
?php
$_page = new Page($_total,$_pagesize); //其中 $_total 是數(shù)據(jù)集的總條數(shù),$_pagesize 是每頁顯示的數(shù)量.
?
顯示效果如圖
index.php?page=1
獲得頁數(shù)$_GET["page"]==""?$page=1:$page=$_GET["page"];// 沒有頁數(shù)就是第一頁
數(shù)據(jù)庫$sql="select count(*) *******"
$row=mysql_fetch_array(mysql_query($sql,$link))
$pagenum=ceil($row[0]/10); //每頁10條,1.1就是2頁
index.php 首頁
$page-1是上一頁
for($i=1;$i$pagenum+1;$++) 循環(huán)輸出 1\2\3\....頁
index.php?page=1 =【1】
index.php?page=2 =【2】
$page+1是下一頁
index.php?page=$pagenum;//尾頁
你的頁面跳轉(zhuǎn), 要把原來有的get參數(shù)一同傳遞下去!
因?yàn)椋?如果你第一頁就是根據(jù)相關(guān)get參數(shù)查詢的數(shù)據(jù)庫, 而你在下一頁沒有提供這個(gè)參數(shù), 當(dāng)然會(huì)查詢不到!
get參數(shù)是在當(dāng)前頁面有效的, 一般, get參數(shù)是url提供, 你url有就有, 沒有就沒有, 不是你提供一次, 人家就會(huì)給你保存一輩子!
例外, 你這個(gè)php文件, 功能其實(shí)很簡(jiǎn)單對(duì)吧?但你有沒有覺得, 代碼密密麻麻呢?
如果讓你寫一個(gè)大型網(wǎng)站, 那你的代碼豈不是要用東風(fēng)牌大卡車來裝呢?