变相怪杰 发表于 2015-2-4 00:04:38

PHP网站制作之用PHP+MYSQL完成服装论坛里的分级+分页显...

我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,默默在此不得不对您稍微泼一下冷水,任何东西其实都不简单。   用PHP+MYSQL完成服装论坛里的分级+分页显示

<?
/*寄存贴子的表布局------------------------------------------------------

create table bbsrow(
    bbsrow_id int(6) not null auto_increment,//贴子ID号
    bbsrow_auth varchar(20) not null,//贴子作者
    bbsrow_parentid int(6),//贴子的父亲贴子ID号,如为首发贴则为空
    bbsrow_title varchar(200) not null,//贴子题目
    bbsrow_returncount int(3),//贴子的答复贴数,假如没有回贴则为空
    primary key (bbsrow_id)
);
-----------------------------------------------------------------------------*/


//显示儿子贴的递归函数--------------------------------------------------
function showchildren($parent_id){
    global $connect_id;
    $query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'";   
    $result_top=mysql_query($query,$connect_id);
    echo "<ul>n";
    while($myrow_child=mysql_fetch_row($result_top)){
      echo "<li>";
      echo $myrow_child;
      echo $myrow_child;
      echo $myrow_child;
      echo $myrow_child;
      echo $myrow_child . "n";
      //假如答复贴数不为空,则暗示有儿子贴,持续显示儿子贴
      if($myrow_child!=''){
            showchildren($myrow_child);
      }
    }
    echo "</ul>";
}
//----------------------------------------------------------------------

//毗连数据库并将一切首发贴放到$mainrow数组里----------------------------

$connect_id=mysql_connect("localhost","test","test") or die("没法毗连数据库");
mysql_select_db("bbs") or die("没法选择数据库");
$query="select * from bbsrow where bbsrow_parentid=''";
$result=mysql_query($query,$connect_id);

$i=0;
while($myrow=mysql_fetch_row($result)) {
    $mainrow[$i]=$myrow;
    $mainrow[$i]=$myrow;
    $mainrow[$i]=$myrow;
    $mainrow[$i]=$myrow;
    $mainrow[$i]=$myrow;
    $i++;
}
mysql_free_result($result);
//----------------------------------------------------------------------

//入手下手构建分页显示------------------------------------------------------

if($currentpage!=""){
    $page=$currentpage;
}
else{
    $page=0;
}

$pagesize=10;//每页显示的首发贴数!
$start=$page*$pagesize;
$end=$start+$pagesize;
if($end>$i) $end=$i;
$totalpage=$i/$pagesize;

   
$info=" 共有" . $i . "条记载,分" . ceil($totalpage) . "页,以后为第" . ($page+1) . "/" . ceil($totalpage) . "页 <br>n";
echo $info;

if($page>0) $pagestr="<a href=bbsrow.php4?currentpage=" . ($page-1) . ">上一页</a>";
$pagestr=$pagestr . " [第 ";
   
for($i=0;$i<$totalpage;$i++){
    if($i!=$page){
      $pagestr=$pagestr . " <a href=bbsrow.php4?currentpage=" . $i . ">" . ($i+1) . "</a> ";
    }
    else{
      $pagestr=$pagestr . " " . ($i+1) . " ";
    }
}

$pagestr=$pagestr . "页]";
   
if($page<$totalpage-1) $pagestr=$pagestr . "<a href=bbsrow.php4?currentpage=" . ($page+1) .">下一页</a><p>n";
   
echo $pagestr;
//----------------------------------------------------------------------

//入手下手分级显示----------------------------------------------------------

echo "<ul>n";
for($i=$start;$i<$end;$i++){
    echo "<li>n";
    echo $mainrow[$i];
    echo $mainrow[$i];
    echo $mainrow[$i];
    echo $mainrow[$i];
    echo $mainrow[$i] . "n";
    //假如答复贴数不为空,则暗示有儿子贴,持续显示儿子贴
    if($mainrow[$i]!=''){
      showchildren($mainrow[$i]);
    }
}
echo "</ul>n";
//----------------------------------------------------------------------?> 根据功能来进行封装等。很多的不懂,在使用搜索引擎查找,或者请教老师和在老师详细的讲解、指导下,都能顺利解决。

若相依 发表于 2015-2-4 08:39:56

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

深爱那片海 发表于 2015-2-8 16:44:07

做为1门年轻的语言,php一直很努力。

第二个灵魂 发表于 2015-2-25 20:53:08

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

冷月葬花魂 发表于 2015-3-2 18:07:00

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

飘飘悠悠 发表于 2015-3-7 21:12:52

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

小妖女 发表于 2015-3-19 09:38:53

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

海妖 发表于 2015-3-21 00:14:34

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

小女巫 发表于 2015-3-23 05:21:40

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

透明 发表于 2015-3-27 07:08:17

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

愤怒的大鸟 发表于 2015-4-1 17:10:00

最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。

柔情似水 发表于 2015-4-6 03:10:42

实践是检验自己会不会的真理。

莫相离 发表于 2015-4-11 19:02:54

爱上php,他也会爱上你。

山那边是海 发表于 2015-4-14 01:36:52

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

兰色精灵 发表于 2015-4-17 14:34:32

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql

若天明 发表于 2015-5-1 14:10:28

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

飘灵儿 发表于 2015-5-8 17:27:24

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

爱飞 发表于 2015-5-10 10:59:05

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

再见西城 发表于 2015-5-11 20:25:50

学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
页: [1]
查看完整版本: PHP网站制作之用PHP+MYSQL完成服装论坛里的分级+分页显...