关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用PHP实现投票系统,与其他普通系统一样,分为两部分,一个是
管理员部分
,一个是普通用户部分。
关于投票系统的管理部分,非常之简单,提供两部分的功能,
增加投票与删除投票
关键在于设计好数据库的表,拟定于这样存一个投票,voteparent表存这个投票的标题、描述是否被删除,votechildren表存这个投票的子选项与投票数
一、基本目标
首先投票系统是这样的:
三个链接,点进去能够直接进行相关功能的操作,本文主写管理员部分,普通用户部分使用到jpgraph另开一章说明
中间按理说应该有登录系统的,这里不是重点,可以参考我之前的《【PHP】登录系统与输出浏览者信息》()
点开添加投票选项,会是如下界面,能够增加与删除投票选项,最多10个投票选择,至少2个头像选项,超过与不足会提示:
预览图是使用IE6的,所以添加与删除选项反应得比较慢,管理员填完投票信息之后,就能成功地添加投票了。
提交前会向管理员询问是否添加,防止误操作,这里的系统其实还应该使用xajax来调查这个投票数据里面是否有,而且有任意一项选项为空应该不让添加,详情可以参考《【php】注册系统和使用Xajax即时验证用户名是否被占用》一文(),这里没做,因为本文主要讲投票系统核心实现,这里就不扣这些小细节。
再点开投票系统的删除投票部分:
在每一个投票的末尾都有删除按钮,点击每一个投票标题能够查看本投票:
点击删除按钮同样会有询问,然后,点击取消什么都不会发生,点击确认则能够成功删除投票:
上图中能够明显发现删除前有4个投票,然后删除之后仅有一条投票。
二、基本思想
投票系统的管理员部分没有什么新的技术还是数据库的操作,首先voteparent表的结构如下:
id是自增列,title是这个投票的大标题,比如上面的“我帅不帅”之类,之后的text用来存放对这个投票的描述,未了不使自增列断开,与删除的投票可查,采用为删除的方式,设置删除位isdel,呈现出来的,这是删除位为0的投票。
votechildren表如下,id是自增列,text用来存放每一个子选项的描述,count用来存放这个自选项的票数,parentid用来存放这个子选项是属于哪个投票的。这里虽然很明显与voteparent表存在着参考性约束,但没有必要设置外键,免得操作时麻烦
值得注意的是,两张表建立之后,记得翻到table options标签卡,把这两张表的编码都设置为utf-8,避免乱码
站点的目录结构则如下所示:
本文只说明createvote.html,createvote.PHP,delvote.PHP,delvotehandle.PHP,index.html五页的内容