使用PHP面向对象技术网站系统_第1页
使用PHP面向对象技术网站系统_第2页
使用PHP面向对象技术网站系统_第3页
使用PHP面向对象技术网站系统_第4页
使用PHP面向对象技术网站系统_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用PHP面向对象技术网站系统第一页,共71页。学习重点面向对象的Web整站系统的设计方法面向对象的Web整站系统的编程方法学习难点由系统功能分析确定系统逻辑结构,并表现为程序结构由系统架构设计确定数据实体类和数据操作类设计数据操作类的编程实现及其在页面逻辑程序中的调用第9章使用PHP面向对象技术的网站系统第二页,共71页。9.1Web整站系统的规划和设计1、Web整站系统的构成

Web整站系统指的是大型综合网站系统,由主要功能模块和其它辅助功能模块组成。

主要功能模块指的是网站的主营业务模块,如门户网站的主模块是新闻发布系统,购物网站的主模块是购物系统,社区交友网站的主模块是留言板和聊天室系统等等。

辅助功能模块指的是为主模块提供信息发布管理、联系/交流/反馈、管理等服务的子系统,如文章管理、留言板、聊天室、会员管理、用户管理系统等等。

小型Web系统的各个功能模块一般在同一个系统内实现,大型Web系统的各个功能模块往往由多个Web子系统组成,通过页面变量和会话变量传送的方法实现相互联系。Web整站系统一般都提供一个统一入口,即网站主页,在主页上通过导航条展示并链接到各个子系统,而主页的主要部分是用于展示主要功能模块的内容。

为了使内容的组织合理、有序,方便用户浏览,主功能模块一般还采用分类列表展示的模式;为了使最新内容能够展现在网站主页,一般主页的中间部分(最醒目的部分)用于显示各个栏目的最新内容列表。第9章使用PHP面向对象技术的网站系统第三页,共71页。9.1Web整站系统的规划和设计2、Web整站系统设计的一般方法Web整站系统包含众多页面,一般采用CSS+HTML页面设计方法,将风格较为统一的页面样式放在同一个CSS文件中,实现页面和样式分离,方便设计和修改。Web整站系统的Web界面部分都有普通用户访问的页面程序和管理员用户访问的页面程序两大部分,一般都将普通用户界面称为前台页面程序,管理员界面称为后台页面程序,将前台页面文件置于网站根目录下,而将后台页面文件置于后台目录下,如有上传文件,将其置于前台目录下,便于目录权限控制。Web整站系统的页面文件中都有多段重复代码,一般将重复代码编写为函数或放在包含文件中,便于重复使用和修改。Web系统从程序功能上看,一般可分为界面显示、业务逻辑处理和数据库操作3部分,将这3部分分离实现,按层调用,即实现了所谓的“三层Web结构”,这样的结构便于界面、代码分离和程序修改、重用。

如果将数据及其属性、操作方法封装在一段代码中,在使用的时候根据需要传递参数,调用方法,获取返回值,就实现了面向对象的编程,这是现代程序设计的主流方法。

为了提高网站显示介面配置的灵活性,一般采用各个子页面程序调用的方式,并在调用时传入各种参数,以组合形成所需要的显示页面。各种参数一般保存在数据库的系统配置表中。3、系统功能设计门户网站就是一个实现文章管理、发布的系统。从用户角度看,包括访客(普通用户)使用的功能和管理员用户使用的功能。从内容管理角度看,包括栏目管理、文章管理、用户管理、系统信息管理等功能。从操作角度看,系统包括读、写、修改、删除等功能。另外还包括一些个性化的功能,如分类显示以及图片、音频、视频等多媒体信息的管理和发布等。第9章使用PHP面向对象技术的网站系统第四页,共71页。9.2项目-面向对象的门户网站的设计1、页面程序结构设计第9章使用PHP面向对象技术的网站系统登录login.php表单输入验证check.php后台主页index.php显示:栏目列表、操作菜单、栏目文章列表及文章操作按钮发送通过添加文章页面addarticle.php修改文章页面modifyarticle.php删除文章deletearticle.php删除横幅修改横幅退出登录程序logout.php销毁session退出管理员添加栏目页面addtopic.php修改栏目页面modifytopic.php删除栏目程序deletetopic.php添加栏目修改栏目删除栏目添加横幅更新文章视频页面modifyarticlepic.php更新横幅图片更新文章视频页面modifyarticlevid.php主页index.php包含:头部页面top.php导航页面nav.php文章标题图片页面picppt.php分类列表页面list_hot.php、list_location.php、links.php横幅条页面poster.php底部页面bottom.php阅读文章内容read.php点击文章标题或标题图片分栏目文章列表topic.php点击栏目导航访客点击横幅图片图片放大页面showpic.php点击文章标题点击栏目设置取消热点hotarticle.php审核文章statusarticle.php修改横幅页面modifyposter.php更新横幅图片页面modifyposterpic.php删除横幅deleteposter.php取消标题图片canelarticlepic.php取消文章视频cancelarticlevid.php添加横幅页面addposter.php修改链接页面modifylink.php更新链接图片页面modifylinkpic.php删除链接deletelink.php添加链接页面addlink.php添加用户adduser.php删除用户deleteuser.php设置用户权限priviliegeuser.php用户信息列表user.php修改自己密码modifypwdself.php修改用户密码modifypwd.php删除链接修改链接添加链接更新链接图片友情链接列表addlink.php横幅信息列表页面addposter.php添加文章修改文章更新标题图片更新文章视频删除文章设置取消热点审核文章取消标题图片取消文章视频修改用户密码删除用户添加用户设置用户权限修改自己密码数据库备份dbackup.php数据库恢复dbrestore.php数据库下载dbdownload.php数据库备份数据库下载数据库恢复点击栏目第五页,共71页。9.2项目-面向对象的门户网站的设计2、目录结构设计第9章使用PHP面向对象技术的网站系统login.phpindex.phplogout.phpindex.phpaddtopic.phpmodifytopic.phpdeletetopic.phpaddarticle.phpmodifyaticle.phpmodifyaticlepic.phpmodifyaticlevid.phpdeletearticle.phpcancelarticlepic.phpcancelarticlevid.phpstatusarticle.phphotarticle.phpposter.phpaddposter.phpmodifyposter.phpmodifyposterpic.phpdeleteposter.phplinks.phpaddlink.phpmodifylink.phpmodifylinkpic.phpdeletelink.phpuser.phpadduser.phpmodifyuser.phppriviliege.phpmodifypwd.phpmodifypwdself.phpsysinfo.php网站根目录(news)CSS目录admin目录upload目录images目录ckeditor目录ckfinder目录index.phptop.phpbottom.phpnav.phppicppt.phplist_hot.phplist_location.phptopic.phpserach.phplinks.phpread.phpposter.phpshowpic.phpserach.phpresult.phpinclude目录config.phpentity.phpdbaccess.phpdbhandle.php第六页,共71页。9.2项目-面向对象的门户网站的设计3、数据库设计数据库名:newsmarty表topic表article第9章使用PHP面向对象技术的网站系统第七页,共71页。9.2项目-面向对象的门户网站的设计3、数据库设计数据库名:newsmarty表user表links表poster第9章使用PHP面向对象技术的网站系统第八页,共71页。9.2项目-面向对象的门户网站的设计3、数据库设计数据库名:newsmarty表sysinfo第9章使用PHP面向对象技术的网站系统第九页,共71页。9.2项目-面向对象的门户网站的设计4、系统架构设计

系统采用OOP方法实现,通过上述的页面逻辑进行页面显示和交互操作处理,在进行数据操作时,页面程序调用数据操作程序(集中放在函数库文件中),数据操作函数再调用数据库操作类,由数据库操作类进行数据库存取操作;程序之间的数据传输通过封装的数据对象进行;在一定程度上实现了显示界面、数据处理操作和数据的分离。系统架构如图所示:第9章使用PHP面向对象技术的网站系统页面显示和交互程序前台页面程序(显示逻辑、计数、获取)后台页面程序(显示逻辑、计数、获取、添加、修改、删除)数据操作函数库栏目数据操作函数(计数、获取、排序、添加、修改、删除)文章数据操作函数(计数、获取、添加、修改、删除)用户数据操作函数(计数、获取、添加、修改、删除)横幅数据操作函数(计数、获取、添加、修改、删除)链接数据操作函数(计数、获取、添加、修改、删除)数据实体类栏目类(set()、get()、__construct())文章类(set()、get()、__construct())用户类(set()、get()、__construct())横幅类(set()、get()、__construct())链接类(set()、get()、__construct())数据库访问类__contruct()方法select()方法insert()方法update()方法delete()方法__destruct()方法系统配置DBHostDBUserDBPasswordDBNameMySQL数据库管理系统$data$data$data$sql$record$data$data第十页,共71页。9.2项目-面向对象的门户网站的设计5、程序工作流程例解1:首页热点文章列表程序的数据流程第9章使用PHP面向对象技术的网站系统页面:list_hot.php热点文章列表程序方法:获得数据库article表中标记为热点的前n条记录,逐条显示其栏目标题、文章标题、发布时间等字段值。传出到数据操作函数的参数:记录数量(本例中为12条,即$num=12)需要数据操作函数返回的数据:Article类的对象组成的数组$data(其中每一个数组元素都封装了一个文章类对象数据)操作:在list_hot.php调用datahandle.php中的获取前n条热点文章函数getArticleByHot($num),将返回的数组逐条显示在页面中。程序:datahandle.php数据操作函数库函数:getArticleByHot($num);从list_hot.php收到的参数:

$num=12传出到数据库访问类的参数:sql查询语句(即$sql="select*fromarticle

wherehot=1orderbyserialdesclimit10")需要数据库访问类的select方法返回的数据:Article类的对象组成的数组$data操作:调用dbaccess.php中数据库操作类对象DbAccess()中的Select($sql)方法,将返回的数组再返回到list_hot.php程序:dbaccess.php数据库操作类DbAccess方法:Select($sql);从getArticleByHot($num)函数传入的参数:$sql返回到getArticleByHot($num)函数的数据:

Article类的对象组成的数组$data需要得到的数据:

数据库article表中的前n条热点文章记录的数据资源操作:数据库服务器连接->打开数据表->执行sql语句->将得到的数据资源打包成对象构成数组MySQL数据库管理系统$num$DATA$sql$DATA第十一页,共71页。9.2项目-面向对象的门户网站的设计5、程序工作流程例解2:添加文章程序的数据流程第9章使用PHP面向对象技术的网站系统页面:addarticle.php添加文章页面方法:将从表单输入的article信息打包成Article类对象,通过数据库操作存入数据库传到数据操作函数insertArticle($data)的参数:

携带了表单输入数据的Article类对象$data操作:调用datahandle.php中的insertArticle($data)

函数,将$data携带的文章数据写入数据库从insertArticle($data)

函数返回的数据:TRUE或FALSE程序:datahandle.php数据操作函数库函数:insertArticle($data)

从addarticle.php传入的参数:

$data对象;操作:将$data对拆包成一个个属性值,然后形成sql语句;传出到数据库访问类的Insert($sql)方法的参数:sql查询语句(即$sql="insertintoarticle(title,topicid,author,content,editor)values($title,$topicid,$author,$content,$editor)"从数据库访问类的insert()方法返回的数据:TRUE或FALSE操作:调用dbaccess.php中数据库操作类DbAccess的Insert($sql)方法程序:dbaccess.php数据库操作类DbAccess方法:Insert($sql);传入的参数:$sql返回到insertArticle($data)函数的数据:TRUE或FALSE操作:数据库服务器连接->打开数据表->执行sql语句->将数据插入数据库MySQL数据库管理系统第十二页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现1、数据实体类

entity.php数据实体类定义<?phpclassTopic{//栏目类定义private$serial;private$title;private$parentid;private$location;private$navseq;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}classPoster{//横幅类定义private$serial;private$picurl;private$thumburl;private$linkurl;private$title;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}classArticle{//文章类定义private$serial;private$title;private$content;private$author;private$updatetime;private$topicid;private$picurl;private$thumburl;private$editor;private$status;private$hot;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}第十三页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现1、数据实体类

entity.php数据实体类定义classLinks{//友情链接类定义private$serial;private$picurl;private$thumburl;private$linkurl;private$title;private$linkseq;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}classUser{//管理员类定义private$serial;private$userid;private$password;private$name;private$phone;private$email;private$privilige;private$question;private$answer;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}entity.php数据实体类定义classSysinfo{//系统信息类定义private$serial;private$title;private$ip;private$copyright;private$phone;private$email;private$address;private$permit;private$logo;private$banner;private$articlenum;private$linkstyle;private$posterstyle;private$navnum;private$linksnum;private$pptnum;private$hotnum;private$posternum;function__get($property){return$this->$property;}function__set($property,$value){$this->$property=$value;}}?>第十四页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库访问类

dbaccess.php数据库访问类定义<?phpinclude_once('config.php');//数据库访问类classDbAccess{var$conn;//连接句柄

//构造函数

publicfunction__construct(){$connect=mysql_connect(DBHost,DBUser,DBPassword)ordie('连接数据库服务器失败');mysql_select_db(DBName)ordie("打开数据库失败");mysql_query('setnamesutf8');$this->conn=$connect;//句柄赋值

}//析构函数

publicfunction__destruct(){mysql_close($this->conn);}//获取记录数函数

publicfunctioncount($sql){if(empty($sql))returnfalse;if(empty($this->conn))returnfalse;$record=mysql_query($sql,$this->conn);$count=mysql_num_rows($record);return$count;//返回记录数

}第十五页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库访问类

第9章使用PHP面向对象技术的网站系统dbaccess.php数据库访问类定义//读取记录函数

publicfunctionselect($sql){if(empty($sql))returnfalse;if(empty($this->conn))returnfalse;$record=mysql_query($sql,$this->conn);if((!$record)or(empty($record))){@mysql_free_result($record);returnfalse;}$count=0;$data=array();while($row=@mysql_fetch_object($record)){$data[$count]=$row;$count++;}@mysql_free_result($record);//释放内存资源return$data;//返回记录集数组

}//插入记录函数

publicfunctioninsert($sql=""){if(empty($sql))return0;if(empty($this->conn))return0;$record=mysql_query($sql,$this->conn);if(!$record)return0;elsereturn$record;//返回插入的记录

}第十六页,共71页。9.3面向对象的门户网站的实现3、数据库访问类

第9章使用PHP面向对象技术的网站系统dbaccess.php数据库访问类定义//更新记录函数

publicfunctionupdate($sql=""){if(empty($sql))returnfalse;if(empty($this->conn))returnfalse;$record=mysql_query($sql,$this->conn);return$record;//返回更新的记录

}//删除记录函数

publicfunctiondelete($sql=""){if(empty($sql))returnfalse;if(empty($this->conn))returnfalse;$record=mysql_query($sql,$this->conn);return$record;//返回删除的记录

}第十七页,共71页。9.3面向对象的门户网站的实现3、数据库访问类

第9章使用PHP面向对象技术的网站系统dbaccess.php数据库访问类定义//获取表信息

publicfunctiongetTable(){

if(empty($this->conn))returnfalse;

$str="";$record=mysql_query('showtables',$this->conn);$i=0;

$table=array();

while($list=mysql_fetch_array($record)){$table[$i]=$list;

$i++;}

return$table;//返回表信息

}//获取表内容sql语句

functiongetSql($table){$sql="DROPTABLEIFEXISTS$table;\n";$record=mysql_query("SHOWCREATETABLE$table",$this->conn);$list=mysql_fetch_row($record);$sql.=$list[1].";\n\n";$rows=mysql_query("SELECT*FROM$table",$this->conn);$fieldsnum=mysql_num_fields($rows);$rowsnum=mysql_num_rows($rows);while($row=mysql_fetch_row($rows)){$comma="";$sql.="INSERTINTO$tableVALUES(";for($i=0;$i<$fieldsnum;$i++){$sql.=$comma."'".mysql_real_escape_string($row[$i])."'";$comma=",";}$sql.=");\n";}$sql.="\n";return$sql;//返回表内容sql语句

}第十八页,共71页。9.3面向对象的门户网站的实现3、数据库访问类

第9章使用PHP面向对象技术的网站系统dbaccess.php数据库访问类定义//创建数据库

functioncreateDB($sql){if(empty($this->conn))returnfalse;

$dropDB="DROPDATABASEIFEXISTS".DBName;$createDB="CREATEDATABASE".DBName;$createTB=($sql);

if(empty($createTB))returnfalse;if(!mysql_query($dropDB,$this->conn))returnfalse;if(!mysql_query($createDB,$this->conn))returnfalse;if(!mysql_select_db(DBName,$this->conn))returnfalse;$sqlRow=strtok($createTB,";");$i=1;while($sqlRow){if(!mysql_query($sqlRow,$this->conn))returnfalse;$sqlRow=strtok(";");$i++;

}}}?>第十九页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-栏目数据操作函数<?phpclassDataHandler{include_once('entity.php');include_once('dbaccess.php');//获取全部栏目数量

functiongetTopicCountAll(){$sql="select*fromtopic";$dbdata=newDbAccess();$result=$dbdata->count($sql);return$result;

}//获取导航栏目数量

functiongetTopicCountByNav(){$sql="select*fromtopicwherenavseq>0";$dbdata=newDbAccess();$result=$dbdata->count($sql);return$result;}//根据父栏目id获取子栏目数量

functiongetTopicCountByParent($parentid){$sql="select*fromtopicwhereparentid=$parentid";$dbdata=newDbAccess();$result=$dbdata->count($sql);return$result;}//根据id获取栏目信息

functiongetTopic($serial){$sql="select*fromtopicwhereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}第二十页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-栏目数据操作函数//获取全部栏目信息

functiongetTopicAll(){$sql="select*fromtopicorderbyparentid";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//根据父栏目id获取栏目信息

functiongetTopicByParent($parentid){$sql="select*fromtopicwhereparentid=$parentid";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}//获取导航栏目信息

functiongetTopicByNav($num=8){$sql="select*fromtopicwherenavseq>0orderbynavseqlimit$num";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}//根据首页显示位置获取栏目信息

functiongetTopicByLocation($location){$sql="select*fromtopicwherelocation='$location'";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}第二十一页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

//根据栏目id获取栏目中所有子栏目idfunctiongetTopicTreeId($topicid){

$i=0;

static$j=0;

static$item=array();

$data=getTopicByParent($topicid);

while($row=$data[$i]){

$item[$j]=$row->serial;

$j++;

if(getTopicCountByParent($row->serial)>0){//判断有没有子栏目

getTopicTreeId($row->serial);

}

$i++;

}

return$item;

}//根据栏目id获取栏目树所有信息

functiongetTopicTree($topicid){$i=0; static$j=0; static$item=array();$data=getTopicByParent($topicid);while($row=$data[$i]){ static$indent=0;//定义缩进量(0级) $item[$j]=array('indent'=>$indent,'topicid'=>$row->serial,'topictitle'=>$row->title,'navseq'=>$row->navseq,'location'=>$row->location); $j++;if(getTopicCountByParent($row->serial)>0){//判断有没有子栏目

$indent++;//子栏目增加缩进量(每级子栏目+1) getTopicTree($row->serial); $indent--;//返回父栏目时减少缩进量(每返回一级-1) }$i++;}return$item;

}第二十二页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

//获取最后一条栏目id

functiongetLastTopicId(){

$sql="selectserialfromtopicorderbyserialdesclimit1";

$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}//添加栏目信息

functioninsertTopic($data){$title=$data->title;$parentid=$data->parentid;$location=$data->location;$navseq=$data->navseq;$sql="insertintotopic(title,parentid,location,navseq)values('$title',$parentid,'$location',$navseq)";$dbdata=newDbAccess();$result=$dbdata->insert($sql);return$result;

}//修改栏目信息

functionupdateTopic($data){$serial=$data->serial;$title=$data->title;$parentid=$data->parentid;$location=$data->location;$navseq=$data->navseq;$sql="updatetopicsettitle='$title',parentid=$parentid,location='$location',navseq=$navseqwhereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}第二十三页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-栏目数据操作函数//根据栏目id删除栏目信息

functiondeleteTopic($topicid){$sql="deletefromtopicwhereserial=$topicid";$dbdata=newDbAccess();$result=$dbdata->delete($sql);return$result;

}//根据父栏目id删除栏目信息

functiondeleteTopicByParent($parentid){$sql="deletefromtopicwhere$parentid=$parentid";$dbdata=newDbAccess();$result=$dbdata->delete($sql);return$result;}//导航栏目左移调整顺序

functionmoveNavseqLeft($navseq,$oldseq){$sql="updatetopicsetnavseq=navseq+1wherenavseq>=$navseqandnavseq<$oldseq";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//导航栏目右移调整顺序

functionmoveNavseqRight($navseq,$oldseq){$sql="updatetopicsetnavseq=navseq-1wherenavseq<=$navseqandnavseq>$oldseq";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}第二十四页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-栏目数据操作函数//取消导航栏目调整顺序

functioncancelNavseq($oldseq){$sql="updatetopicsetnavseq=navseq-1wherenavseq>$oldseq";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//增加导航栏目调整顺序

functionsetNavseq($navseq){$sql="updatetopicsetnavseq=navseq+1wherenavseq>=$navseq";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;

}//取消首页显示栏目调整

functioncancelLocation($location){$sql="updatetopicsetlocation='none'wherelocation!='none'andlocation='$location'";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}第二十五页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-栏目数据操作函数//根据栏目id获取栏目树下所有文章数量

functiongetArticleCountByTreeAdmin($topicid){$sql="select*fromarticlewheretopicid=$topicid";

$topictreeid=getTopicTreeId($topicid);

$i=0;

while($row=$topictreeid[$i]){

$sql.="ortopicid=$row";

$i++;

}$dbdata=newDbAccess();$result=$dbdata->count($sql);return$result;

}//根据栏目id获取栏目树下所有文章数量(允许显示)

functiongetArticleCountByTree($topicid){

$sql="select*fromarticlewherestatus=1andtopicid=$topicid";

$topictreeid=getTopicTreeId($topicid);

$i=0;

while($row=$topictreeid[$i]){

$sql.="ortopicid=$row";

$i++;

}

$dbdata=newDbAccess();

$result=$dbdata->count($sql);

return$result;

}

第二十六页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//根据id获取文章信息

functiongetArticle($serial){$sql="select*fromarticlewhereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//获取指定数量热点文章信息(允许显示)

functiongetArticleByHot($num){$sql="select*fromarticlewherehot=1andstatus=1orderbyserialdesclimit$num";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//根据栏目id分页获取栏目树下所有文章信息

functiongetArticleByTreeAdminByPage($topicid,$page,$pagesize){$pagestart=($1)*$pagesize;$sql="select*fromarticlewheretopicid=$topicid";$topictreeid=getTopicTreeId($topicid);$i=0;while($row=$topictreeid[$i]){

$sql.="ortopicid=$row";

$i++;}$sql.="orderbyserialdesclimit$pagestart,$pagesize";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}

第二十七页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//根据栏目id分页获取栏目树下所有文章信息(允许显示)

functiongetArticleByTreeByPage($topicid,$pagestart,$pagesize){$sql="select*fromarticlewherestatus=1andtopicid=$topicid";$topictreeid=getTopicTreeId($topicid);$i=0;while($row=$topictreeid[$i]){

$sql.="ortopicid=$row";

$i++;}$sql.="orderbyserialdesclimit$pagestart,$pagesize";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//根据栏目id获取所有文章信息(允许显示)functiongetArticleByTree($topicid){$sql="select*fromarticlewheretopicid=$topicidandstatus=1orderbyserialdesc";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}

第二十八页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//根据栏目id获取栏目树下指定数量的文章信息(允许显示)

functiongetArticleByTreeByNum($topicid,$num){

$sql="select*fromarticlewherestatus=1andtopicid=$topicid";

$topictreeid=getTopicTreeId($topicid,$num);

$i=0;

while($row=$topictreeid[$i]){

$sql.="ortopicid=$row";

$i++;

}

$sql.="orderbyserialdesclimit$num";

$dbdata=newDbAccess();

$result=$dbdata->select($sql);

return$result;

}//获取有标题图片的指定数量的文章信息

functiongetArticleByPic($num){$sql="select*fromarticlewherepicurl<>''orderbyserialdesclimit$num";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//根据搜索关键字获取文章信息(允许显示)

functiongetArticleBySearch($field,$keyword){$sql="select*fromarticlewhere$fieldlike'%$keyword%'andstatus=1orderbyserialdesc";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}第二十九页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//添加文章

functioninsertArticle($data){$title=$data->title;$content=$data->content;$author=$data->author;$topicid=$data->topicid;$editor=$data->editor;$sql="insertintoarticle(title,content,author,topicid,editor)values('$title','$content','$author',$topicid,'$editor')";$dbdata=newDbAccess();$result=$dbdata->insert($sql);return$result;

}//修改文章

functionupdateArticle($data){

$serial=$data->serial;

$title=$data->title;$content=$data->content;$author=$data->author;$topicid=$data->topicid;

$editor=$data->editor;$sql="updatearticlesettitle='$title',content='$content',author='$author',topicid=$topicid,editor='$editor'whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//按id删除文章信息

functiondeleteArticle($serial){$sql="deletefromarticlewhereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->delete($sql);return$result;}第三十页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//按栏目id删除文章信息

functiondeleteArticleByTopic($topicid){$sql="deletefromarticlewheretopicid=$topicid";$dbdata=newDbAccess();$result=$dbdata->delete($sql);return$result;

}//设置取消热点

functionhotArticle($serial){$sql="updatearticlesethot=abs(hot-1)whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;

}//允许禁止显示文章

functionstatusArticle($serial){$sql="updatearticlesetstatus=abs(status-1)whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//文章点击数+1

functionvisitArticle($serial){$sql="updatearticlesetvisit=visit+1whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}

第三十一页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-文章数据操作函数//文章点击数+1functionvisitArticle($serial){$sql="updatearticlesetvisit=visit+1whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//更新文章标题图片

functionupdateArticlePic($data){$serial=$data->serial;$picurl=$data->picurl;

$sql="updatearticlesetpicurl='$picurl'whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;

}//更新文章视频

functionupdateArticleVid($data){$serial=$data->serial;$vidurl=$data->vidurl();$sql="updatearticlesetvidurl='$vidurl'whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}第三十二页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-横幅数据操作函数//获取所有横幅项目信息

functiongetPosterAll(){$sql="select*fromposterorderbyserialdesc";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;}//按数量获取横幅项目

functiongetPosterByNum($num){$sql="select*fromposterorderbyserialdesclimit$num";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}//获取指定横幅项目信息

functiongetPoster($posterid){$sql="select*fromposterwhereserial=$posterid";$dbdata=newDbAccess();$result=$dbdata->select($sql);return$result;

}//添加横幅中的项目

functioninsertPoster($data){$title=$data->title;$linkurl=$data->linkurl;$sql="insertintoposter(title,linkurl)values('$title','$linkurl')";$dbdata=newDbAccess();$result=$dbdata->insert($sql);return$result;}第三十三页,共71页。第9章使用PHP面向对象技术的网站系统9.3面向对象的门户网站的实现3、数据库操作函数库

dbhandle.php数据操作函数定义-横幅数据操作函数//修改横幅中的项目

functionupdatePoster($data){$serial=$data->serial;$title=$data->title;$linkurl=$data->linkurl;$sql="updatepostersettitle='$title',linkurl='$linkurl'whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;}//更新横幅项目图片

functionupdatePosterPic($data){

$serial=$data->serial;$picurl=$data->picurl;$thumburl=$data->thumburl;$sql="updatepostersetpicurl='$picurl',thumburl='$thumburl'whereserial=$serial";$dbdata=newDbAccess();$result=$dbdata->update($sql);return$result;

}//删除横幅项目

functiondeletePoster($posterid){$sql="deletefromposterwhereserial=$posterid";$dbdata=new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论