asp判断相同日期限制信息发布条数

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:09:27
这是一个商机信息发布系统,我想限制用户每天最多发布3条信息,表结构如下:
(环境:asp+access)

SMT_id 为信息ID
SMT_begindate 为信息发布日期

SMT_id SMT_begindate
10001 2009-5-7 6:34:53
10002 2009-5-6 7:34:53
10003 2009-5-5 8:34:53
10004 2009-5-7 9:34:53

我想通过诸如:if rs("SMT_begindate") >= now() then类似形式来判断,用户每天最多发布3条信息(最多允许SMT_begindate日期3个相同)
一楼的比较耗资源,且比较麻烦;二楼的例句我试了一下,没有成功;
因为我这段代码上面已经有了查询,查询语句为:“select * from SMT_sca where SMT_yp_id="& session("id")”SMT_yp_id是用户的ID号,所以最好不要再次查询
总之先谢过二位,期待更完善的答案^_^

假设数据库中发布人的字段名为username,用户登陆成功后session("username")
在他发布新商机信息前,先查询数据库计算他今天发布的信息条数,如果今天发布的信息等于3条,就控制他不允许继续发布,或干脆在页面不显示form表单,SQL如下:
<%set rs=conn.execute("select count(*) as aaaa form 表 where username='"&session("username")&"' and datediff(d,SMT_begindate ,getdate())=0")
if rs("aaaa")>3 then
response.write"<script>alert('您今天已经发布了3条信息!规定每一用户一天最多只能发布3条!')</script>"
else
......
end if
%>

给你个思路,代码就不写了。

首先 取得count 今天的总数 然后判断一下 如果返回值>3 then xxx

----------------------------------------

你再试试这个SQL

sql server 版本
select count(*) from smt_sca where smt_yp_id='xxx' and datediff(day,smt_begindate,getdate())=0

access版本
select count(*) from smt_sca where sm_yp_id='xxx' and datediff("d",smt_begindate,now())=0

select count * as rsNum where date=now
if m