php上一页下一页数据库库库库 php上一页下一页功能实现

php如何实现上一页下一页的功能 (不是列表

$id = @$_GET["id"];

创新互联建站专注于网站建设|成都网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖PVC花箱等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。

$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";

}

用PHP如何实现分页并能够实现上一页,下一页,跳转到()页的功能?

htmlhead

title分页示例(php/title

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

/head

body

?php

$pagesize=10; //设定每一页显示的记录数

$conn=mysql_connect("localhost","root","jrq");

mysql_select_db("sj",$conn);

$rs = mysql_query( "select * from `dw_newsdata`",$conn); //这里有第二个可选参数,指定打开的连接

//-----------------------------------------------------------------------------------------------//

//分页逻辑处理

//-----------------------------------------------------------------------------------------------

$tmpArr = mysql_fetch_array($rs);

$numAL = mysql_num_rows($rs); //取得记录总数$rs

$pages=intval($numAL/$pagesize); //计算总页数

if ($numAL % $pagesize) $pages++;

//设置缺省页码

//↓判断“当前页码”是否赋值过

if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否则,设置为第一页

//↓计算记录偏移量

$offset=$pagesize*($page - 1);

//↓读取指定记录数

$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—当前页—记录集!

$curNum = mysql_num_rows($rs); //$curNum - 当前页实际记录数,for循环输出用

?

table border="0" width="80%"

tr

td width="50%" bgcolor="#E0E0E0"标题/td

td width="50%" bgcolor="#E0E0E0"发布时间/td

/tr

?php

while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循环判断

{

$i=0;

// for($a=0;$a$ColNum;$a++) //==for结束==

?

tr

td width="50%"?= $tmpArr[1]; //$tmpArr["news_title"] ; ?/td

td width="50%"?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?/td

/tr

?php

}//==while结束==

?

/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-先输出当前页之前的

if ($page 0) echo "[".$page."]";; // 2-再输出当前页

for ($i=$page+1;$i=$pages;$i++){echo "a href='?page=".$i."'[".$i ."]/a ";}// 3-接着输出当前页之后

echo "转到第 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

网页上如何做上一页下一页

网页上做上一页下一页的具体方法如下:

这个将dreamweaver启动后,切换到代码模试就可以编写程序了

这种动态网站程序都要连接数据库,然后计算显示记录的数量及每页要显示的数量来分页。

这里以php为例

这是一个分页的类代码

?php

class Page {

    private $total;      //总记录

    private $pagesize;    //每页显示多少条

    private $limit;          //limit

    private $page;           //当前页码

    private $pagenum;      //总页码

    private $url;           //地址

    private $bothnum;      //两边保持数字分页的量

//构造方法初始化

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;

}

//获取当前页码

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;

}     //数字目录

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;

}

}

?

在程序中实例化,就可以使用了,非常方便的

?php

$_page = new Page($_total,$_pagesize); //其中 $_total 是数据集的总条数,$_pagesize 是每页显示的数量.

?

显示效果如图

PHP显示上一页[1][2][3].....下一页的分页代码

index.php?page=1

获得页数$_GET["page"]==""?$page=1:$page=$_GET["page"];// 没有页数就是第一页

数据库$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;$++) 循环输出 1\2\3\....页

index.php?page=1 =【1】

index.php?page=2 =【2】

$page+1是下一页

index.php?page=$pagenum;//尾页

PHP中查找数据库的数据然后在php页面分页显示,只能显示第一页的数据

你的页面跳转, 要把原来有的get参数一同传递下去!

因为, 如果你第一页就是根据相关get参数查询的数据库, 而你在下一页没有提供这个参数, 当然会查询不到!

get参数是在当前页面有效的, 一般, get参数是url提供, 你url有就有, 没有就没有, 不是你提供一次, 人家就会给你保存一辈子!

例外, 你这个php文件, 功能其实很简单对吧?但你有没有觉得, 代码密密麻麻呢?

如果让你写一个大型网站, 那你的代码岂不是要用东风牌大卡车来装呢?


文章名称:php上一页下一页数据库库库库 php上一页下一页功能实现
网页网址:http://myzitong.com/article/hhcsoi.html