您好:我用的是FineReport,可以这样做的:
1被投票人相应的票数加1。
这个通过sql公式就可以实现。
首先选出当前的票数,=sql("con1","select
票数
from
投票表
where
姓名='"+$被选人+"'",1,1)
然后提交的时候,主键设置为$被选人,票数设置为=sql("con1","select
票数
from
投票表
where
姓名='"+$被选人+"'")+1
2每个月只能填一次。这个有几种实现方式。
一是提交的时候,更新数据库状态。主键设置为$fr_username,是否投票状态,更新一下。这个方法需要设计一个定时填报,每个月初把状态更新为0
二是省略定时填报,把状态和月份或者奇偶性结合起来。。。。
这个,我的回到是sql server版本的 Oracle了解。。mysql不熟悉。。。
--用户信息表
create table userinfo(
uid int identity(1,1) primary key,
uname nvarchar(20) not null,
usex nvarchar(2) check (usex in ('男','女')),
imgpath nvarchar(500),--存放上传的路径,如果是多张的话可以用特殊符号隔开,
--在显示的时候可以用split方法,很多语言都有这个方法的
/
自己加字段吧
/
)
--用户登陆表
create table account(
id int identity(1,1) primary key,
account_name nvarchar(20) not null,
account_password nvarchar(64) not null,
uid references userinfo(uid)
)
--投票
/
id 记录的主键
a-e 为评价的等级 没有投票的为0 投一票就加1
goods_id 为所评论对象id的外键关联
要投票的时候先判断表里有没有被评论对象的id
有就修改记录,没有就插入新纪录
这样的话用户的信息就没办法被录入到这张表中,但是在页面跳转的时候
用户信息是可以放在session里的,应该是没用影像的
如果以 用户id和被评论对象的id做组合主键的话
冗余数据就太多了
/
create table acc_vote(
id int identity(1,1) primary key,
a int not null,
b int not null,
c int not null,
d int not null,
e int not null,
goods_id references goods_table_name(index)
)
--留言表
create table acc_leaveword(
id int identity(1,1) primary key,
title nvarchar(100),
author nvarchar(50),
publishtime nvarchar(20),
conntent nvarchar(20),
isrestore int,--是否为回复,是主题的话0,回复的话就自引用对应主题的id
id int references account(id)
)
以上就是关于请问如何用Excel或者其他报表软件实现投票功能全部的内容,包括:请问如何用Excel或者其他报表软件实现投票功能、一个投票系统的数据库设计、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)