第一天上班回来……累死了,头晕……?

不说苦了,越说越累……直接入正题,话说昨天的面试那个作业,后台添加上可以管理友情链接的功能,就是一个很基本而且很简单的功能,paperen我不知道若我昨天没做出来会不会应聘成功。下面说说这个功能是如何实现吧。?

要添加并管理友情链接,当然需要数据库的支持啦,不是说每添加一个友情链接就要去改页面的代码,这样维护性太差了而且也不合理。(这里的代码是自己回来后写的,当然某些部分与我在面试时写的不一样,特别是css那块)

一个超链接的格式不就是这样嘛:

我的博客

首先得要把html的结构弄好, 一个良好的html结构才能使得页面看起来舒服而且有利于后面代码的编写。?

HTML code:

<div id="friendlink">
<h5>友情链接</h5>
<ul>
<li><a href="#">example</a></li>
<li><a href="#">example</a></li>
</ul>
</div>
<div class="c"></div>

是不是很简单而且很清晰的一个结构,之后来写写css,来美化一下这个结构,使它更符合我们的视觉要求与人性化要求。?

Css code:

*{margin:0px;padding:0px;}
/* 将所有元素的padding与margin至零是个好习惯啊,不然后期页面的设计可能会遇到不少麻烦 */
body{font-size:14px;} /* 定义整个页面的字体大小 */
a{color:#666600;text-decoration:none;} /* 定义超链接的颜色,使它不再是默认的蓝色(不太看) */
a:hover{color:#669900;text-decoration:underline;} /* a:hover定义当鼠标移到链接上面时的链接样式,使它与没移到上面时的样式有所不同,从而产生交换的效果 */
h5{color:#333333;background:#E8F4CE;height:30px;line-height:30px;font-size:14px;padding-left:10px;} /* 修饰一下H5 */
#friendlink {border:1px #CCCCCC solid;width:450px;margin:20px auto;} /* 给ID为friendlink的那个div加个边框并设置一下宽度与外边距*/
#friendlink li{display:block;float:left;width:80px;text-align:center;height:30px;line-height:30px;} /* 定义friendlink中li的样式,显示为块并左浮动,li的高与字高,line-height一般用于使容器中的字体垂直居中,十分好用,屡试不爽 */
.c{clear:both;} /* 或许有些人不明白这里为什么要加这样一个多余的div,确实这个是多余的html结构,但是并不是没有用,我们用来清除上面的li产生的浮动,避免影响到后面的html布局 */

这里给大家看看如果没有清楚浮动会导致的结果吧,一般在火狐中会出现这种情况,所以大家使用完浮动后记得要clear一下。?

ie中(正常):

200912141260796533

火狐(简称FF)与Opera中:

200912141260796600

完成了页面的排版与美化后就可以想想php怎样实现这个功能了, 我需要扩展一下mysql数据库的才能支持这个功能,我需要添加一个表friend_link,里面要添加三个字段:

ID(int (5) ) ,NAME(varchar (50) ),URL( varchar (50) ),用myphpadmin弄还是很easy的。?

那么数据库结构ok了之后就直接上代码啦,记住前面那个li的结构了吧?<li>example</li>,我们要做的就是把数据库的URL字段数据放在href="#"中,将NAME字段的数据放到里面就是了。 ?

PHP code:
<?php
$db=new sql();
$sql="select * from link";
$result=$db->query($sql);
?>
<div id="friendlink">
<h5>友情链接</h5>
<ul>
<?php
while($tmp=mysql_fetch_array($result))
{
?>
<li><a href="http://<?=$tmp[′url′]?>"><?=$tmp[′name′]?></a></li>
<?php
}
?>

class sql
{
?? private $conn;
?? public function __construct()//构造函数
?? {
????? $where="localhost";
????? $db="test";
????? $user="root";
????? $pwd="root";
????? $this->conn=mysql_connect($where,$user,$pwd);//连接数据库并获得相应的连接字符串
????? mysql_select_db($db);//选择连接的是哪个数据库
????? mysql_query("set names ′gb2312′");//定义送入数据库的编码,这点不较重要,不然可能会出现乱码,就看你数据中定义数据编码是什么了
?? }

?? public function query($sql)
?? {
????? $result=mysql_query($sql);
????? return $result;
?? }

?? public function __destruct()//析构函数
?? {
????? mysql_close($this->conn);
?? }
?}

用类来做sql相关操作是挺不错的选择,因为它能调用构造与析构函数来完成连接数据库与释放的操作,很方便,当然啦,如果习惯用function的话也可以写好几个function来处理sql的操作,就看自己而定了。?

就这样前台显示友情链接的功能就over了,当然啦,还需要有添加友情链接的功能,还有修改友情链接的功能才行,而我就说到这里吧,添加与修改功能实现起来差不多,当然也有不少差别,改天有空再补上吧。