基于PHP技术的电子商务web数据库开发.doc

上传人:文库蛋蛋多 文档编号:2388741 上传时间:2023-02-17 格式:DOC 页数:18 大小:847.50KB
返回 下载 相关 举报
基于PHP技术的电子商务web数据库开发.doc_第1页
第1页 / 共18页
基于PHP技术的电子商务web数据库开发.doc_第2页
第2页 / 共18页
基于PHP技术的电子商务web数据库开发.doc_第3页
第3页 / 共18页
基于PHP技术的电子商务web数据库开发.doc_第4页
第4页 / 共18页
基于PHP技术的电子商务web数据库开发.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于PHP技术的电子商务web数据库开发.doc》由会员分享,可在线阅读,更多相关《基于PHP技术的电子商务web数据库开发.doc(18页珍藏版)》请在三一办公上搜索。

1、基于PHP技术的电子商务web数据库开发目录摘要:3关键字:3一.市场分析3二.网站制作思路3三.网站设计思想3四.内容框架4五.制作流程5第一步:安装环境5第二步:数据库的开发6第三步:配置的页面制作10第四步:后台页面的制作11第五步:前台页面的制作15六.调试发布19七.后期管理与维护19参考文献:19摘要:Internet的日益发展,使得电子商务倍受人们的关注,而企业网站做为电子商务的平台也越来越受到企业的重视。在这里简单地分析了现在我国电子商务网站发展的现状并设计和建设了用PHP和MYSQL技术做成的网站,然后论述了该网站给企业带来的宣传效果及利润。关键字:Internet;电子商务

2、;PHP+MYSQL;网站建设一. 市场分析近年来,B2C网站大量涌现,有许多企业网站不仅能够展示公司形象、产品信息,甚至可以实现在线购买产品,B2C电子商务市场呈现出了“井喷”的势头,逐渐代替C2C市场,成为网购的一大主流,所以,企业建立自己的网站已经成为必然的趋势,在此之际,本公司建立了自己的独立网站,一方面方便网络客户更容易的找到本公司,另一方面开发网络客户。二. 网站制作思路网站的组成部分包括网站的前台显示页面、后台控制页面和数据库三部分,在网站制作开始之前,首先要对数据库进行设计,如果数据库设计不好,整个网站的内容,不管是前台还是后台,都很难达到很好的连接,所以,数据库设计的合理与否

3、关系到整个网站的牢固程度。在数据库建立好之后,接下来进行的就是网站的后台程序的开发,网站的后台程序是用来操作数据库的,后台程序的建立可以避免管理人员直接操作复杂的数据库而引起的错误,也避免了数据库数据的丢失或者其它的错误。网站前台的建设是用于显示数据库中的信息,把数据库中的数据通过直观的页面显示在浏览器中,让浏览者更清晰的看到公司的一些信息,是网站建设好坏的直接体现,所以前台页面的设计一样很重要。在这三方面都建设完成之后,就基本上实现了网站的运营,即后台管理页面通过操作页面添加、删除、修改和更新数据库,通过数据库的更新,网站的前台页面也就随着更新,他们的关系如下图所示:后台前台数据库 添加、删

4、除、修改、更新 调用数据库调用数据库三. 网站设计思想整个网站的设计是基于PHP5语言的面向对象开发思想,其中包含少量的用于验证的javascript脚本语言,另外一个重点就是运用smarty模板引擎来显示前台页面。在面向对象的开发过程中,把一些公用的函数、mysql类或者一些配置文件放在一些固定的文件中,通过调用这些文件而实现功能,这样就减少了代码的书写;在开发前台的页面过程中通过使用smarty模板可以通过调用html模板来实现php页面的显示,这样避免了每次修改页面的时候对代码的修改,使页面和代码实现分离,使操作更加简单。总得来说整个网站是使用的面向对象的开发思想,对页面的操作更加简单化

5、,集成了面向对象开发的优点,对网站的后期管理和维护都有很多意想不到的好处。四. 内容框架整个网站由三大部分组成-前台、后台、数据库。数据库共由11个表组成,分别是:config(网站配置表)、admin(管理员表)、user(会员用户表)、categories(商品分类表)、products(商品信息表)、cnewsclass(公司新闻分类表)、cnewsbase(公司新闻基本表)、cnewscontent(公司新闻内容表)、company(公司简介表)、guestbook(留言表)、contact(联系方式表)。后台页面根据需要总共有16个页面组成,分别是:管理员登陆页面(index.php

6、)、后台管理主页面(main.php)、后台管理导航页面(admin_left.php)、网站配置信息页面(admin_main.php)、公司介绍页面(admin_company.php),产品分类、产品列表、添加以及修改页面(admin_categories_class.php、admin_categories_list.php、products_add.php、admin_categories_edit.php),公司新闻分类、新闻列表、添加以及修改页面(admin_news_class.php、admin_news_list.php、admin_news_add.php、admin_n

7、ews_edit.php),留言列表展示以及查看留言页面(admin_guestbook.php、admin_guestbook_edit.php),联系方式页面(admin_contact.php)。另外还包括后台配置页面config.php、admin_global.php和mysql类的文件(action.class.php和page.class.php)。前台页面的设计:模板页面-index.html、aboutus.html、products.html、cnewsview.html、contact.html;images文件夹;css文件夹(css.css、css1.css);调用模

8、板页面-index.php、aboutus.php、products.php、cnews.php、cnewsview.php、guest.php、contact.php、zhuce.php。底层结构图:五. 制作流程第一步 :安装环境在整个网站开始制作之前要先安装用于本地调试的服务器,在这里使用的是wamp包,该软件包含了apache,mysql和php,是一个很好用的集成开发环境,安装完成之后启动服务器,在电脑的右下角出现如图所示的图标,点击后能够发现里面包含了apache+mysql+php,其中Localhost是用于本地浏览文件的,phpMyAdmin是mysql的web操作客户端,可

9、以看出,使用wamp是很方便的。在开发环境安装好之后还需要安装一个编辑器,一个好的编辑器能够在编程方面起到很大的作用,在这里我使用的是Eclipse编辑器,它能够实现边编辑边浏览的功能,而且能够起到代码提示的作用,还可以编辑除PHP文件之外的其它文件,比如html、css等文件。其界面如图所示:第二步 :数据库的开发数据库的开发:11个数据库表的代码和结构如下:admin表,这是用于管理管理员的表,其中包括Aid、m_id、Aname、password、name等字段,它的sql代码如下:CREATE TABLE graduatethesis.admin (Aid INT( 3 ) NOT N

10、ULL AUTO_INCREMENT PRIMARY KEY ,m_id INT( 2 ) NOT NULL ,Aname VARCHAR( 25 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL ,password VARCHAR( 25 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL ,name VARCHAR( 50 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL ) ENGINE = MYISAM其结构如图所示:confi

11、g配置表是对公司网站的一些配置信息进行管理,包括name、values、remark字段,代码如下:CREATE TABLE graduatethesis.config (name VARCHAR( 20 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,values VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,remark TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:user表

12、,用于存储会员注册的表格,包括:uid,uname,password, telephone,email,address等字段,代码如下:CREATE TABLE graduatethesis.user (uid INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,uname VARCHAR( 20 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,password VARCHAR( 50 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,telphone INT( 12

13、) NOT NULL ,email VARCHAR( 20 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,address VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:categories表,用于存储产品的分类,包括category_id,category_fid,category_name等字段,其代码如下:CREATE TABLE graduatethesis.categories (category_id INT( 5 )

14、NOT NULL AUTO_INCREMENT PRIMARY KEY ,category_fid INT( 5 ) NOT NULL ,category_name VARCHAR( 50 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:products表,用于存储产品的详细信息,包括product_id,category_id,product_name,price,detail,photo,is_commend,post_datetime等字段。其代码如下:CREATE TABLE graduatet

15、hesis.products (product_id INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,category_id INT( 5 ) NOT NULL ,product_name TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,price FLOAT NOT NULL ,detail TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,photo TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,

16、is_commend INT( 11 ) NOT NULL ,post_datetime DATETIME NOT NULL ) ENGINE = MYISAM其结构如图所示:cnewsclass表,用于存储新闻分类,包括如下字段:id,f_id,name,keyword,remark。其代码如下:CREATE TABLE ewsclass (id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,f_id INT( 11 ) NOT NULL ,name VARCHAR( 25 ) CHARACTER SET gbk COLLATE gbk_bin

17、 NOT NULL ,keyword VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,remark VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:cnewsbase表,用于存储新闻的基本信息,包括:id,cid,title,author,date_time等字段。其代码如下:CREATE TABLE ewsbase (id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY

18、KEY ,cid INT( 11 ) NOT NULL ,title VARCHAR( 50 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,author VARCHAR( 25 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,date_time INT( 10 ) NOT NULL ) ENGINE = MYISAM其结构如图所示:cnewscontent表,用于存储新闻的详细内容,包括:nid,keyword,content,remark等字段。其代码如下:CREATE TABLE ewscontent

19、 (nid INT( 11 ) NOT NULL ,keyword VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,content TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,remark TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:company表,用于存储公司的基本信息,包括:name,values,remark三个字段,其代码如下:CREATE TABLE pany

20、 (name VARCHAR( 25 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,values TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,remark TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:guestbook表,用于存储用户的留言,包括:id,name,content,telphone,email,time等字段。其代码如下:CREATE TABLE graduatethesis.gu

21、estbook (id INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,name TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,content TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,telphone INT( 12 ) NOT NULL ,email TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,time DATETIME NOT NULL ) ENGINE = MYISAM其结构如下:c

22、ontact表,用于存储公司的联系方式的表,包括:name,values,remark等字段。其代码如下:CREATE TABLE graduatethesis.contact (name VARCHAR( 10 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,values VARCHAR( 100 ) CHARACTER SET gbk COLLATE gbk_bin NOT NULL ,remark TEXT CHARACTER SET gbk COLLATE gbk_bin NOT NULL ) ENGINE = MYISAM其结构如图所示:第

23、三步 :配置的页面制作配置页面的制作在页面配置的文件config.php中,包括了数据库的连接和smarty配置,其代码如下:在网站的主配置页面完成之后,接下来进行数据库的连接,在后台的开发中,要进行mysql的配置,在admin_global.php文件中完成数据库和后台的连接,代码如下:在这里需要引入的有四个文件,即mysql.class.php,config.php,page.class.php和action.class.php。其中mysql.class.php文件是在操作数据库过程中面向对象的一个必不可少的文件;page.class.php是定义了分页原理,实现后台某些页面的分页;a

24、ction.class.php文件是在文件提交之后的一些跳转页面。在网站的前台配置页面中一样也需要这些页面,但是,前台的配置还包含了smarty的配置,smarty的配置很简单,只需要将下载好的smarty引擎的主要部分拷贝到该项目中就行了。第四步 :后台页面的制作后台页面的制作:在制作后台的管理页面时,首先制作好一些导航页面,包括:index.php(登陆界面),admin_left.php(左侧导航)main.php(主显示页面)。在公司介绍页面中(admin_company.php)运用到了数据库的查询与更新其中调用数据的sql语句:if($_GETaction=logout)$db-G

25、et_user_out();$query=$db-findall(company);while($row=$db-fetch_array($query)$row_arr$rowname=$rowvalues;更新数据的sql语句:if($_GETaction=logout)$db-Get_user_out();$query=$db-findall(company);while($row=$db-fetch_array($query)$row_arr$rowname=$rowvalues;在后台的页面制作中有一个很重要的页面就是产品添加页面(products_add.php),在这个页面中需要上

26、传照片,而且需要判断填写的信息是否详细,这里使用了javascript脚本来判断,其代码如下:function syncTextarea()if(upform.cid.value=0)alert(请选择分类);return false;if(upform.product_name.value=)alert(请填写产品名称);upform.product_name.focus();return false;if(upform.price.value=)alert(请填写产品价格);upform.price.focus();return false;if(upform.detail.value=)

27、alert(请填写详细信息);upform.detail.focus();return false;在上传照片的代码中,首先将input框的type格式改写成file格式,然后就是对上传图片的处理,代码如下:if (is_uploaded_file($_FILESupfiletmp_name)$upfile=$_FILESupfile;$name = $upfilename;$type = $upfiletype;$size = $upfilesize;$tmp_name = $upfiletmp_name;$error = $upfileerror;switch ($type) case i

28、mage/pjpeg : $ok=1;break;case image/jpeg : $ok=1;break;case image/gif : $ok=1;break;case image/png : $ok=1;break;move_uploaded_file($tmp_name,uploads/.$name);在添加产品的时候需要选择分类,这里需要从数据库中调用产品分类并显示在下拉选项框中,其实现代码如下:?php$query=mysql_query(select * from categories where category_fid=0);while ($row=mysql_fetch

29、_array($query) echo$rowcategory_name;$query_son=mysql_query(select * from categories where category_fid=$rowcategory_id);while ($row_son=mysql_fetch_array($query_son) echo    $row_soncategory_name;?在点击提交按钮时,进行数据库的操作,实现代码:if(isset($_POSTinto_products)$db-query(INSERT INTO products (pro

30、duct_id, category_id, product_name, price, detail, photo, is_commend, post_datetime) .VALUES (NULL, $_POSTcid, $_POSTproduct_name, $_POSTprice, $_POSTdetail, $name, $_POSTis_commend, NOW();$db-Get_admin_msg(admin_categories_list.php,添加成功);产品分类页面:实现的功能是添加产品大类,小类以及更新分类和删除分类。添加分类的实现代码:findall(categorie

31、s where category_fid=0);while ($row=$db-fetch_array($query) $news_class_arr$rowcategory_id=$rowcategory_name;echo $rowcategory_name;?添加分类:if(isset($_POSTinto_class)$db-query(INSERT INTO graduatethesis.categories (category_id, category_fid, category_name) . VALUES (NULL, $_POSTf_id, $_POSTname);$db-G

32、et_admin_msg(admin_categories_class.php,已经成功添加分类);删除分类:if(!empty($_GETdel)$db-query(DELETE FROM categories WHERE category_id = $_GETdel LIMIT 1;);$db-Get_admin_msg(admin_categories_class.php,删除成功);更新分类:if(isset($_POSTupdate_class)$db-query(update categories set category_name=$_POSTname WHERE categor

33、y_id = $_POSTid LIMIT 1;);$db-Get_admin_msg(admin_categories_class.php,更新成功);产品的编辑页面和添加产品的页面类似,只是将添加产品的sql语句中的insert语句改写成update语句;产品列表显示页面需要将所有的产品基本信息显示出来,其中用到了分页原理,其代码如下:产品分类产品名称价格图片详细信息操作?php$result = mysql_query(select product_id from products);$total = mysql_num_rows($result);pageft($total, 20);

34、if ($firstcount findall(products limit $firstcount, $displaypg);while ($row = $db-fetch_array($query) ?a href=?del=删除 / a href=admin_categories_edit.php?id=修改公司新闻页面的分类,添加,修改和显示都和产品编辑页面类似,这里就不一一的描述了。留言列表的显示:首先从数据库中调用留言数据,然后显示在后台页面中,其实现代码如下:$query=$db-findall(guestbook);while ($row=$db-fetch_array($qu

35、ery) $news_class_arr$rowid=$rowname;其中有嵌入分页原理,其代码和产品列表和新闻列表的分页原理的代码一样。公司的联系方式页面是从contact表中调用数据的,然后显示在页面中,管理员可以进行修改:其代码是:if($_GETaction=logout)$db-Get_user_out();$query=$db-findall(contact);while($row=$db-fetch_array($query)$row_arr$rowname=$rowvalues;if(isset($_POSTupdate)unset($_POSTupdate);foreach

36、($_POST as $name=$values)$db-query(update contact set values=$values where name=$name);$db-Get_admin_msg(admin_contact.php);到此,后台页面的制作基本完成,在调试无误后,接下来进行的是网站前台页面的制作。第五步 :前台页面的制作前台页面的制作:在网站进行smarty引擎的引用是,首先对smarty进行配置,在global.php文件中进行配置,其代码如下:template_dir= $smarty_template_dir;$smarty-compile_dir= $sma

37、rty_compile_dir;$smarty-config_dir= $smarty_config_dir;$smarty-cache_dir= $smarty_cache_dir;$smarty-caching= $smarty_caching;$smarty-left_delimiter = $smarty_delimiter0;$smarty-right_delimiter= $smarty_delimiter1;$smarty-assign(t_dir,$smarty_template_dir);?接下来需要设计一些网站的模板,这里我使用了dreamweaver软件来设计网站的模板,

38、这里引入了五个html文件的模板,首先是对index.html文件的引入,在index.php文件中可以用以下代码实现index.html模板的引入:query(SELECT * FROM config);$row=$db-fetch_array($query);while($row_config=$db-fetch_array($query)$sm_config=$row_configvalues;$smarty-assign(sm_config,$sm_config);/配置引入$smarty-display(index.html);?这样就把网站的配置信息给引入到smarty模板引擎中了,然后再index.html文件中把相应的位置替换以下就行了,如:$sm_config1这里的$smarty_config是一种数组形式的数据,在调用中只需要讲数组中的键值指出就能显示内容了。为了体现面向对象的开发思想,我把所有的数据库的引入代码全部写入smarty.php文件中,然后通过调用smarty.php文件来实现相同的功能,这样,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号