最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

[php] 我的微型論壇的簡單教程[已完成]第7/8頁

 更新時間:2007年05月31日 00:00:00   作者:  

我們在第一章里已經(jīng)講了首頁如何顯示論壇版塊,當(dāng)然,在第二章節(jié)里我們論壇添加了排序功能,那么SQL語句當(dāng)然也應(yīng)該改成$sql="select * from forums order by forum_list",默認(rèn)為ASC,順序排列數(shù)據(jù)。
現(xiàn)在我們來討論顯示分論壇顯示主題的情況。我命名為forums.php.
利用F作為參數(shù),具體來顯示某個論壇的帖子。

現(xiàn)在我們進入“測試版塊”來顯示本論壇下的所有主題。顯示結(jié)果如圖:

具體顯示主題列表要解決的主要問提就PHP的分頁。PHP分頁我們可以使用LIMIT來實現(xiàn)。具體用法:"select clumn field1,...,filedN from table_name limit start_num,end_num";
limit作用是限定結(jié)果行數(shù)。這里可以提取指定的條數(shù),也可以從查詢結(jié)果中取出中間值。舉個例子來說明:
$sql="select * from [topic] limit 5";
作用是取出topic表中順序前5條數(shù)據(jù);
$sql="select * from [topic] limit 9,10";
提取10條信息,從第9條開始提取。

我們forums.php首先接收F的值:$F=$_GET["F"];注意這里是GET
首先取得當(dāng)前論壇:

<?php
require_once("conn.php");
require_once("global.php");$F=$_GET["F"];
$sql="select forum_name from forums where ID='$F'";
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$forum_name=$rs["forum_name"];echo "當(dāng)前論壇為:<a href=\"index.php\">$gb_name</a>-->>$forum_name";
?>

我們這里的分頁當(dāng)然使用"select clumn field1,...,filedN from table_name limit start_num,end_num";這種方式。
end_num當(dāng)然就是我們global.php我們定義的論壇常用的變量$list_rows,而start_num如何計算呢?依靠的是當(dāng)前頁面intpage,每頁顯示條數(shù)$list_rows和總條數(shù)來結(jié)算的。代碼如下:

<?php
//接上面代碼
$result=mysql_query("select count(ID) from topic where forum_id='$F'");
$num=mysql_result($result,0);  //獲得總條數(shù)$intpage=$_GET["intpage"];
if($intpage) $intpage=1;
$start_num=($intpage-1)*$list_rows;  //獲取limit開始位置$sql="select ID,title,author,last_post_author as la,last_post_time as lt,no_of_hit,no_of_reply,locked,face,topic,good from topic where forum_id='$F' order by topic desc,last_post_time desc limit $start_num,$list_rows";
$result=mysql_query($sql);//這里當(dāng)然就是表格的HTML代碼啦,自己寫吧if($num>0){
    while($rs=mysql_fetch_array($result)){
        $FID=$row["ID"];
        $author=$row["author"];
        $title=$row["title"];
        $no_of_reply=$row["no_of_reply"];
        $no_of_hit=$row["no_of_hit"];
        $lt=$row["lt"];
        $la=$row["la"];
        $topic=$row["topic"];
        $good=$row["good"];
        $locked=$row["locked"];
        $face=$row["face"];
?>
  <tr>
    <td><?php echo "<img src=\"$face\">" ?></td>
    <td><?php echo "<div class=\"bold\"><a class=\"forum\" href=\"thread.php?T=".$FID."&F=".$F."\">".$title."</a></div>" ?></td>
    <td><?php echo $author ?></td>
    <td><?php echo $no_of_reply." / ".$no_of_hit ?></td>
    <td><div class="lastupdate"><?php echo $lt." By ".$la ?></div></td>
  </tr>
<?php
    }
Show_pages($num,$F,$intpage,$list_rows);
}else{
echo"本版塊沒有帖子";
}
?>

顯示結(jié)果如下:

分頁就是上面代碼中體現(xiàn)出來的Show_pages($num,$F,$intpage,$list_rows)。效果就是從1到10,從11-20這樣的分頁。分頁的思路就是這樣:
我們得到了所需要的數(shù)據(jù):總記錄,當(dāng)前顯示頁碼,每頁顯示的條數(shù),總記錄和每頁顯示的條數(shù)可以得到總頁碼。如果總頁碼小于等于10,那么直接輸出 1到總頁碼就可以了。如果大于10,那就根據(jù)當(dāng)前頁碼顯示具體的分頁,比如,總頁碼13頁,當(dāng)前第11頁,那么將按照11-13的顯示方式輸出。同時還會有上一頁,下一頁等輔助翻頁按鈕。圖示如下:

代碼如下:

Function Show_pages($number,$F,$intpage,$list_rows){
$pageno=ceil($number/$list_rows);
echo "\n<table width=90% border=0 align=center cellpadding=0 cellspacing=0 class=mrg-top>";
echo "  <tr>\n    <td align=right>\n  <table border=0 cellpadding=0 cellspacing=0>\n    <tr>";
echo "<td id=pagetop>第".$intpage."頁/共".$pageno."頁</td>";
if($pageno>1)
echo "\n    <td><div class=pagefirst><a href=?intpage=1&F=".$F.$IsT.">&lt;&lt;</a></div></td>";
if($intpage>1)
echo "\n    <td><div class=pagefirst><a href=?intpage=".($intpage-1)."&F=".$F.$IsT.">&lt;</a></div></td>";

if($pageno>10){
    $a=Floor($pageno/10);
    $b=Floor($intpage/10);
    $c=$b*10+1;
    $d=$b*10+10;
    $e=$intpage%10;
    $g=($b-1)*10+1;
    if($intpage>10){
        if($b<$a){
        for($i=$c;$i<=$d;$i++) echo "\n    <td><div class=pagefirst><a href=?intpage=".$i."&F=".$F.">".$i."</a></div></td>";
        }elseif($e==0){
        for($i=$g;$i<=$intpage;$i++) echo "\n    <td><div class=pagefirst><a href=?intpage=".$i."&F=".$F.">".$i."</a></div></td>";
        }else{
        for($i=$c;$i<=$pageno;$i++) echo "\n    <td><div class=pagefirst><a href=?intpage=".$i."&F=".$F.">".$i."</a></div></td>";
        }
    }else{
    for($i=1;$i<=10;$i++)
    echo "\n    <td><div class=pagefirst><a href=?intpage=".$i."&F=".$F.">".$i."</a></div></td>";
    }
}else{
    for($i=1;$i<=$pageno;$i++)
    echo "\n    <td><div class=pagefirst><a href=?intpage=".$i."&F=".$F.">".$i."</a></div></td>";
}if($pageno>$intpage)
echo "\n    <td><div class=pagefirst><a href=?intpage=".($intpage+1)."&F=".$F.">&gt;</a></div></td>";
if($pageno>1)
echo "\n    <td><div class=pagefirst><a href=?intpage=".$pageno."&F=".$F.">&gt;&gt;</a></div></td>";
echo "</td>\n  </tr>";
echo "\n</table></td></tr></table>";
}

 

我上面的代碼自己也認(rèn)為比較爛,有經(jīng)驗的大鳥不要笑我……^@^,帖個好些的分頁代碼。
分頁這里主要利用的就是LIMIT,熟悉了它的用法,簡單的分頁程序就可以搞定了……

相關(guān)文章

  • PHP實現(xiàn)WebService的簡單示例和實現(xiàn)步驟

    PHP實現(xiàn)WebService的簡單示例和實現(xiàn)步驟

    這篇文章主要介紹了PHP實現(xiàn)WebService的簡單示例和實現(xiàn)步驟,本文直接給出示例代碼并分步驟講解,需要的朋友可以參考下
    2015-03-03
  • PHP將字符串首字母大小寫轉(zhuǎn)換的實例

    PHP將字符串首字母大小寫轉(zhuǎn)換的實例

    下面小編就為大家?guī)硪黄狿HP將字符串首字母大小寫轉(zhuǎn)換的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • CodeIgniter CLI模式簡介

    CodeIgniter CLI模式簡介

    這篇文章主要介紹了CodeIgniter CLI模式,需要的朋友可以參考下
    2014-06-06
  • Codeigniter控制器controller繼承問題實例分析

    Codeigniter控制器controller繼承問題實例分析

    這篇文章主要介紹了Codeigniter控制器controller繼承問題,以簡單實例形式分析了CodeIgniter中針對控制器controller繼承的實現(xiàn)與使用方法,需要的朋友可以參考下
    2016-01-01
  • PHP網(wǎng)站開發(fā)中常用的8個小技巧

    PHP網(wǎng)站開發(fā)中常用的8個小技巧

    這篇文章主要介紹了PHP網(wǎng)站開發(fā)中常用的8個小技巧,本文講解了命名、使用、PHP判斷Form表單是否提交、PHP 獲取字符串長度、PHP超全局對象等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • PHP開發(fā)中常用的十個代碼樣例

    PHP開發(fā)中常用的十個代碼樣例

    本文是小編日常收集整理的有關(guān)php開發(fā)中常用的十個代碼樣例,非常不錯,特此分享供大家參考
    2016-02-02
  • Laravel5.1 框架路由基礎(chǔ)詳解

    Laravel5.1 框架路由基礎(chǔ)詳解

    這篇文章主要介紹了Laravel5.1 框架路由基礎(chǔ),結(jié)合實例形式分析了laravel5.1框架路由的基本原理、路由參數(shù)、正則約束等相關(guān)使用技巧,需要的朋友可以參考下
    2020-01-01
  • 從零開始學(xué)YII2框架(三)擴展插件yii2-gird

    從零開始學(xué)YII2框架(三)擴展插件yii2-gird

    yii2-gird 插件是Yii2.0的一個擴展。它在官方的girdview基礎(chǔ)上擴展了一些實用的功能。非常好用,推薦使用哦。
    2014-08-08
  • PHP 修改SESSION的生存時間案例詳解

    PHP 修改SESSION的生存時間案例詳解

    這篇文章主要介紹了PHP 修改SESSION的生存時間案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Zend Framework框架路由機制代碼分析

    Zend Framework框架路由機制代碼分析

    這篇文章主要介紹了Zend Framework框架路由機制,結(jié)合代碼分析了Zend Framework路由機制所涉及的控制器,路由器原理與相關(guān)代碼實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03

最新評論

海林市| 定安县| 和政县| 清镇市| 宁海县| 嘉善县| 莆田市| 衡东县| 始兴县| 高州市| 浏阳市| 郴州市| 南城县| 临邑县| 嘉善县| 延庆县| 定襄县| 共和县| 开阳县| 建阳市| 南投市| 双峰县| 伊春市| 腾冲县| 章丘市| 巴青县| 克东县| 合水县| 无棣县| 咸阳市| 潜山县| 中宁县| 句容市| 丰顺县| 密云县| 阿城市| 阳谷县| 大英县| 寻甸| 普兰店市| 夹江县|