PHP经典项目案例-(1)博客管理系统3

php中文网
发布: 2016-06-13 12:11:07
原创
1283人浏览过

PHP经典项目案例-(一)博客管理系统3

本篇给出首页左侧导航栏及右部公告区的实现。

六、左侧导航栏:

1、日历:

这里单独一个php文件,在显示日历的那个地方直接引用该文件即可:

立即学习PHP免费学习笔记(深入)”;

cale.php

<?php class calendar{     private $year,$month,$day;     private $week=array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");     private $_month=array(         "01"=>"一月",         "02"=>"二月",         "03"=>"三月",         "04"=>"四月",         "05"=>"五月",         "06"=>"六月",         "07"=>"七月",         "08"=>"八月",         "09"=>"九月",         "10"=>"十月",         "11"=>"十一月",         "12"=>"十二月"     );     function setyear($year){    //设置年份         $this->year=$year;     }     function getyear(){   //获得年份         return $this->year;     }     function setmonth($month){    //设置月份         $this->month=$month;     }     function getmonth(){    //获得月份        return $this->month;     }     function setday($day){   //设置日期         $this->day=$day;     }     function getday(){   //获得日期         return $this->day;     }     function OUT(){   //输出日历         $this->_env(); //设置显示的日期        $week=$this->getweek($this->year,$this->month,$this->day);     //获得日期为星期几        $fweek=$this->getweek($this->year,$this->month,1);     //获得此月第一天为星期几         echo "<div style=width:255;font:9pt> <form action=$_SERVER[PHP_SELF] method='post' style='margin:0'> <select name='month' onchange='this.form.submit();'>";         for($ttmpa=1;$ttmpa<13;$ttmpa++){     //输出12个月             $ttmpb=sprintf("%02d",$ttmpa);             if(strcmp($ttmpb,$this->month)==0){                 $select="selected style='background-color:#FAFDE2'";             }else{                 $select="";             }             echo "<option value='$ttmpb' $select>".$this->_month[$ttmpb]."</option>";         }         echo " </select> <select name='year' onchange='this.form.submit();'>";    //输出年份,前后10年         for($ctmpa=$this->year-10;$ctmpa<$this->year+10;$ctmpa++){             if($ctmpa>2050){                 break;             }             if($ctmpa<1980){                 continue;             }             if(strcmp($ctmpa,$this->year)==0){                 $select="selected style='background-color:#FAFDE2'";             }else{                 $select="";             }             echo "<option value='$ctmpa' $select>$ctmpa</option>";         }         echo "</select>         </form><br/>        <table border=0 align=center>";         for($Tmpa=0;$Tmpa<count($this->week);$Tmpa++){    //输出星期的标头             echo "<td>".$this->week[$Tmpa]."</td>";         }         for($tmpb=1;$tmpb<=date("t",mktime(0,0,0,$this->month,$this->day,$this->year));$tmpb++){    //输出所有日期             if(strcmp($tmpb,$this->day)==0){  //获得当前日期,并采用特色颜色做为标记                 $flag=" bgcolor='#FF3366'";             }else{                 $flag=' bgcolor=#FAFDE2';             }             if($tmpb==1){                 echo "<tr>";                 for($tmpc=0;$tmpc<$fweek;$tmpc++){                     echo "<td></td>";                 }            }             if(strcmp($this->getweek($this->year,$this->month,$tmpb),0)==0){ //如果是周日                echo "<tr><td align='center' $flag>$tmpb</td>";             }else{                 echo "<td align='center' $flag>$tmpb</td>";             }         }        echo "</table></div>";    }     //获得方法内指定的日期的星期数     function getweek($year,$month,$day){         $week=date("w",mktime(0,0,0,$month,$day,$year));     //获得星期         return $week;   //获得星期     }     function _env(){         if(isset($_POST["month"])){             $month=$_POST["month"];         }else{             $month=date("m"); //默认为本月         }        if(isset($_POST["year"])){             $year=$_POST["year"];         }else{             $year=date("Y");    //默认为本年         }        $this->setyear($year);        $this->setmonth($month);        $date=sprintf('%1d',date('d'));        $this->setday($date);    }}     $D=new calendar;     $D->OUT(); ?>  
登录后复制

在index.php里面直接引用该文件

 <!-- 日历显示 --> <tr> <span style="white-space:pre">	</span><td height="155" align="center" valign="top"><?php include 'cale.php';?></td> </tr>
登录后复制

2、最新文章显示:

<!-- 最新文章显示 --><tr><span style="white-space:pre">	</span><td height="125" align="center" valign="top" >        <table width="200" border="0" cellpadding="0" cellspacing="0">        <tr>        <span style="white-space:pre">	</span><td>                <table width="201" border="0" cellpadding="0" cellspacing="0" style="margin-top:25px" valign="top">                </table>                </td>        </tr>        <?php                                                $sql="select id,title from tb_article order by id desc limit 5";                $res = $sqlHelper->execute_dql($sql);                $i=1;                while($info=$res->fetch_assoc()){        ?>        <tr>        <span style="white-space:pre">	</span><td width="201" align="left" valign="top">                <a href="article.php?file_id=<?php echo $info['id'];?>" target="_blank"><font size="2"><?php echo $i."、".substr($info['title'],0,27);?></font></a>                </td>        </tr>        <?php                 $i=$i+1;                }        ?>        <tr>        	<td height="10" align="right"><a href="file_more.php"><img  src=" images/more.gif"    style="max-width:90%"  style="max-width:90%" border="0" alt="PHP经典项目案例-(1)博客管理系统3" >&#160;&#160;&#160;</a></td>        </tr>        </table>        </td></tr>
登录后复制
这里我去查询数据库的时候使用了自己的工具类sqlHelper.class.php

这里给出上面用到的方法实现代码:

sqlHelper.class.php部分代码:

免费红色响应式多语言企业通用模板1.0.0
免费红色响应式多语言企业通用模板1.0.0

该模板源码有公司简介、公司新闻、产品展示、客户案例、留言等企业官网常用页面功能。模板是响应式模板,支持多语言,完善的标签调用修改起来很方便。功能特点:1. 使用的框架采用HkCms开源内容管理系统v2.2.3版本、免费可以商用。2. 所需环境Apache/Nginx,PHP7.2 及以上 + MySQL 5.6 及以上。3. 安装教程: (1) 站点运行路径填写到public目录下。 (2) 浏览

免费红色响应式多语言企业通用模板1.0.0 1
查看详情 免费红色响应式多语言企业通用模板1.0.0

 class SqlHelper{                public $mysqli;        public $dbname="db_tmlog";        public $username="root";        public $password="root";        public $host="localhost";                public function __construct(){            $this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->dbname);            if($this->mysqli->connect_error){                die("连接失败".$this->mysqli->connect_error);            }            $this->mysqli->query("set names utf8");        }        //执行dql语句        public function execute_dql($sql){                        $res = $this->mysqli->query($sql) or die($this->mysqli->error);            //这里返回的是一个结果集,当调用$row = $res->fetch_assoc()时是一条一条的向下走,应该使用while循环            return $res;        }                                                                                                                           <span style="font-family: Arial, Helvetica, sans-serif;">}</span>
登录后复制

dql语句就是简单的查询语句。

在使用数据库查询之前,先把这个文件包进去,然后new一个工具类对象,然后使用对象调用里面的函数。


3、最新图片显示

<!-- 最新图片显示 --><tr><span style="white-space:pre">	</span><td height="201" align="center" valign="top"><br/>        <table width="145"  border="0" cellspacing="0" cellpadding="0">        <tr>        <span style="white-space:pre">	</span><td>                <table width="201"  border="0" cellspacing="0" cellpadding="0" valign="top" style="margin-top:5px;">                <?php		<span style="white-space:pre">	</span>$sql="select id,tpmc,file from tb_tpsc order by id desc limit 2";			$res2 = $sqlHelper->execute_dql($sql);			while($info=$res2->fetch_assoc()){			<span style="white-space:pre">	</span>$query="select * from tb_tpsc where id=".$info['id'];                    <span style="white-space:pre">		</span>$result=$sqlHelper->execute_dql($query);                    <span style="white-space:pre">		</span>if($row = $result->fetch_assoc()){                           <span style="white-space:pre">		</span>$data = $row['file'];                    <span style="white-space:pre">		</span>}		?>		<tr>    		<span style="white-space:pre">	</span><td width="9" rowspan="2"  align="center">&#160;</td>    			<td width="147"  align="center">        		<a href="image.php?recid=<?php echo $info['id']; ?>" target="_blank">        		<img  src="<?php echo $data;? alt="PHP经典项目案例-(1)博客管理系统3" >"  width="120"    style="max-width:90%" border="0">        		</a>    			</td>    			<td width="10" rowspan="2"  align="center">&#160;</td>    		</tr>    		<tr>    			<td  align="center">图片名称:<?php echo $info['tpmc'];?></td>		</tr>		<?php 			  }		?>		<tr>		<span style="white-space:pre">	</span><td colspan="3" height="10" align="right"><a href="pic_more.php"><img  src=" images/more.gif"    style="max-width:90%"  style="max-width:90%" border="0" alt="PHP经典项目案例-(1)博客管理系统3" >&#160;&#160;&#160;</a></td>		</tr>                </table>                </td>        </tr>        </table>        </td></tr>
登录后复制

同样使用了数据库查询。

4、公告区实现

在公告区使用了我以前没有见过的一个标签

它里面设置了一些属性,就是当鼠标停留在上面的时候它就停止滚动,离开的时候就开始滚动。


<?php<span style="white-space:pre">	</span>$p_sql = "select * from tb_public order by id desc";        $p_rst = $sqlHelper->execute_dql($p_sql);?><marquee onMouseOver="this.stop()" style="width:426px; height:280px" onMouseOut="this.start()" scrollamount="2" scrolldelay="7" direction="up" align=""><span style="FONT-SIZE: 9pt"><center><?php<span style="white-space:pre">	</span>while($p_row = $p_rst->fetch_row()){?><a href="#" onClick="wopen=open('show_pub.php?id=<?php echo $p_row[0]; ?>','','height=200,width=1000,scollbars=no')"><?php echo $p_row[1]; ?></a><br>	 <?php        }?></center></span></marquee>
登录后复制
这个标签是HTML5新增的,还有center标签。那么在使用的时候就会出现下面画黄色波浪线的情况,我没有去管他。

这个超链接标签里,它设置了onclick这个属性,onclick这个属性后面跟的一定是js文件里面的函数,这个是打开一个自定义宽高的窗口。href="#"表示这个超链接不连接到其他页面,这里超链接的响应使用onclick来设定了。


到这里我们的首页基本就实现了。这是index.php 的完整代码:index.php提取码:iu09


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号