仓酷云

标题: PHP网站制作之一个仿照oso的服装论坛法式(之一) [打印本页]

作者: 山那边是海    时间: 2015-2-4 00:04
标题: PHP网站制作之一个仿照oso的服装论坛法式(之一)
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。   我常常利用oso的服装论坛,团体感到挺好的,因而仿照oso的界面编了一个法式,与人人同享。
法式由三局部构成,即显示主题信息,显示服装论坛信息,增添服装论坛信息,主题与服装论坛内容采取主从表关系。
表布局以下:
drop table fr_t_forumtitle;
create table fr_t_forumtitle(
   id         integer,
   state      varchar(1),
   readcount  integer,
   replycount integer,
   title      varchar(100),
   createman  varchar(20),
   replyman   varchar(20),
   replytime  datetime);

drop table fr_t_forumcontent;
create table fr_t_forumcontent(
   id          integer,
   replyman    varchar(20),
   replytime   datetime,
   replyemail  varchar(100),
   replyhttp   varchar(100),
   replyface   smallint,
   content     text);

drop table fr_t_parameter;
create table fr_t_parameter(
   code    varchar(10),
   name    varchar(40),
   content varchar(10));
insert into  fr_t_parameter(code,name,content) values('pageline','分页数','20'); /* 调剂该参数可以修正每页行数 */

法式1:mainforum.php
<html>
<head>
<link rel="STYLESHEET" type="text/css" href="fp_zhangcg.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Microsoft Theme" content="none">
<meta name="Microsoft Border" content="none">
<title>服装论坛</title>
</head>

<body bgcolor="#C0C0C0" background="backcolor.GIF">

<?
  include ("c:mydbheader.inc");
?>

<table width="100%" border="0">
<tr class="text">  
<td width="50%">   <div align="left">以后地位:主页――服装论坛</div> </td>
<td width="20%">   <div align="center">&nbsp</div> </td>
<td width="10%">   <div align="center">
<A href="addmember.php" target=_blank>会员注册</A></div> </td>
<td width="10%">   <div align="center">服装论坛搜刮</div> </td>
<td width="10%">   <div align="center">&nbsp</div> </td>
</table>


  <?
    $dbh =  mysql_connect('localhost:3306','root','');
    mysql_select_db('test');  

    $res=mysql_query("SELECT content FROM fr_t_parameter where code = 'pageline'",$dbh);   
    $row=mysql_fetch_array($res);   
    global $pageline;
    $pageline = $row["content"];  
    if (empty($pageline))  {
       $res=mysql_query("insert into fr_t_parameter(code,name,content) values('pageline','分页数','20')",$dbh);   
       $row=mysql_fetch_array($res);   
       $pageline = 20;
    }
        
    $res=mysql_query("SELECT COUNT(*) AS rcnt FROM fr_t_forumtitle",$dbh);   
    $row=mysql_fetch_array($res);   
    $rcount = $row["rcnt"];   

    $res=mysql_query("SELECT COUNT(*) AS rcnt_con FROM fr_t_forumcontent",$dbh);   
    $row=mysql_fetch_array($res);   
    $rcon_count = $row["rcnt_con"];   

    print '<table width="100%" border="0">';
    print '<tr class="text">';  
    print '<td width="15%">   </td>';
    print '<td width="35%">  <div align="left"> ';
    print "主题数:".$rcount."  帖子数:".$rcon_count;
    print '<td width="35%">  <div align="right"> ';
    print '<a href="addforum.php?theme_id=0" target="_top"><img src="http://edu.cnzz.cn/NewsInfo/post.gif" alt="加新帖子" border="0"></a>';
    print '<td width="15%">   </td>';
    print '</td></table>';


    $pages=ceil($rcount / $pageline); //$pages变量如今包括所需的页数   
     
    if (empty($offset))  {
      $offset=1;   
      $curline = 0;
    } else
    $curline = ($offset - 1) * $pageline;
//打印表头
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%">  <div align="center">';
if ($offset <> 1) { //假如偏移量是0,不显示前一页的链接   
  $newoffset=$offset - 1;   
  print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";   
}  else {
print "前一页";
print "   ";
}
//盘算总共需求的页数   
$pages=ceil($rcount/$pageline); //$pages变量如今包括所需的页数   
for ($i=1; $i <= $pages; $i++)  {
  $temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
  print $temps;   
  print "   ";
}   
//反省是不是是最初一页   
if ($pages!=0 && $offset!=$pages)  {
   $newoffset=$offset+1;   
   print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";   
}  else print "下一页";
print '</div> </td>';
print '<td width="50%">  <div align="center">';
print "以后页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";

//处置具体信息
     
    print '<table width="100%" border="1">';
    print '<tr class="text"> ';
    print '<td width="6%">  <div align="center">New</div>    </td>';
    print '<td width="5%">  <div align="center">点击</div>   </td>';
    print '<td width="53%"> <div align="center">主题</div>   </td>';
    print '<td width="10%">  <div align="center">创立人</div> </td>';
    print '<td width="5%">  <div align="center">答复</div>   </td>';
    print '<td width="11%"> <div align="center">最初修正工夫 </div> </td>';
    print '<td width="10%">  <div align="center">答复人</div> </td>';
    print '</tr>';

    $query = 'select id,state,readcount,title,createman,replycount,replytime,replyman
from fr_t_forumtitle order by replytime desc LIMIT '.$curline.',20';
    $res = mysql_query($query, $dbh);  
//    $li_rownum = mysql_num_rows($res);
//    for ($i=1; $i<=$li_rownum; $i++) {
//      $row = mysql_fetch_row($res);  
    while ($row = mysql_fetch_array($res)) {  
      print '<tr class="text"> ';
      print '<td width="6%"> '.$row["state"].'</td>';
      print '<td width="5%"><div align="center">'.$row["readcount"].'</td>';
      $tempstr = "<a href='readforum.php?readflag=".$row["id"]."'>".$row['title']."</a>";
      print '<td width="53%"> '.$tempstr.'</td>';
//      print '<td width="48%">'.$row["title"].'</td>';
      print '<td width="9%"> '.$row["createman"].'</td>';
      print '<td width="5%"><div align="center">'.$row["replycount"].'</td>';
      $temptime = substr($row["replytime"],5,11);
      print '<td width="11%"> '.$temptime.'</td>';
      print '<td width="10%"> '.$row["replyman"].'</td>';
      print '</tr>';
    }
print "</table>";

//打印表尾
print '<table width="100%" border="0">';
print '<tr class="text"> <td width="50%">  <div align="center">';
if ($offset <> 1) { //假如偏移量是0,不显示前一页的链接   
  $newoffset=$offset - 1;   
  print "<a href='$PHP_SELF?offset=$newoffset'>前一页</a>";   
}  else {
print "前一页";
print "   ";
}
//盘算总共需求的页数   
for ($i=1; $i <= $pages; $i++)  {
  $temps = "<a href='".$PHP_SELF.'?offset='.$i."'>".$i."</a>";
  print $temps;   
  print "   ";
}   
//反省是不是是最初一页   
if ($pages!=0 && $offset!=$pages)  {
   $newoffset=$offset+1;   
   print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>";   
}  else print "下一页";
print '</div> </td>';
print '<td width="50%">  <div align="center">';
print "以后页:".$offset." 共".$pages."页";
print '</div> </td>';
print "</table>";
//end of 打印表尾
?>

<?
  include ("c:mydbfooter.inc");
?>

</body>
</html>
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。
作者: 兰色精灵    时间: 2015-2-4 08:31
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 谁可相欹    时间: 2015-2-9 20:11
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 灵魂腐蚀    时间: 2015-2-18 06:38
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 爱飞    时间: 2015-2-23 18:40
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 简单生活    时间: 2015-2-28 19:25
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 柔情似水    时间: 2015-3-5 16:02
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 愤怒的大鸟    时间: 2015-3-8 13:30
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 飘飘悠悠    时间: 2015-3-8 18:44
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 仓酷云    时间: 2015-3-12 16:35
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 深爱那片海    时间: 2015-3-19 23:55
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 飘灵儿    时间: 2015-3-28 21:12
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 冷月葬花魂    时间: 2015-3-29 01:01
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 透明    时间: 2015-3-31 15:58
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 乐观    时间: 2015-4-11 20:13
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 变相怪杰    时间: 2015-4-12 12:18
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 山那边是海    时间: 2015-4-14 14:12
实践是检验自己会不会的真理。
作者: 再见西城    时间: 2015-4-29 17:52
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 若相依    时间: 2015-6-29 22:25
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
作者: 海妖    时间: 2015-7-1 10:19
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2