注册 登录
编程论坛 新人交流区

如何用ASP代码能实现最近一两天的新闻后面加一个"new"标识

angerzl 发布于 2007-09-29 09:42, 1274 次点击
我做了一个企业网站,客户要求在首页显示最新新闻,但最好能实现最近一两天的新闻后面加一个"new"标识,我该如何比较最新时间和数据库时间来实现这一技巧,那位大虾有现成的代码给我粘上来吧,拜托拉。最好能全面点,用小时比较或者用天比较。谢拉…………
27 回复
#2
阿萨莫阿2007-09-29 09:51
写入数据库   
#3
angerzl2007-09-29 09:53

怎么写啊??

#4
阿萨莫阿2007-09-29 09:56
把发表的时间取出来,然后和之前的最晚时间做比较,设定时间来弄,这个思路怎么样   ?
#5
angerzl2007-09-29 10:03

思路很好,不过我是新手,真的不知道怎么做啊???我看了其它一些资料,也有用IF语句来实现的哦^……

#6
angerzl2007-09-29 10:03
<%
set rs_news=server.createobject("adodb.recordset")
sqltext4="select top 11 * from jishu where BigClassName='国家法规' order by id desc"
rs_news.open sqltext4,conn,1,1
%>
</span>
<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center">

<%i=0
do while not rs_news.eof%>
<tr align="center" valign="middle">
<td width="5%"><span class="a"><img src="Img/class.gif" width="10" height="10" /></span>&nbsp; </td>
<td width="54%" height="20" style='BORDER-bottom: #999999 1px dotted'> <div align="left"><a href="showjishu.asp?id=<%=rs_news("id")%>" target="_blank" class="a">
<%=cutstr(rs_news("title"),10)%></a></div></td>
<td width="41%" style='BORDER-bottom: #999999 1px dotted'><font color="#999999" >[<%=rs_news("AddDate")%>]</font></td>
</tr>

<%rs_news.movenext
i=i+1
loop
rs_news.close %>
</table>


你帮我看看这段代码,应该怎么个改法啊,谢谢啊…………
#7
purana2007-09-29 10:08
在数据库里要有一个添加新闻时间的列.
然后取资料的时候.判断一下这个时间.如果将现在服务器的时间减去这个时间列的时间.是在某个范围.那就显示的时候加上"new"
#8
angerzl2007-09-29 10:10

你们说的主要就是修改数据库喽~!~!

#9
purana2007-09-29 10:44
我没有说过修改数据库.
只是你在建数据库的时候.在新闻表里加一个添加新闻时间的列.
这样对你以后操作有很大的好处.
#10
angerzl2007-09-29 11:32

能不能具体的在说一下啊,我无法实现这个功能啊,有没有可以帮我的啊?~!~~!!~!~!~!~!~!!~```````````````````

#11
bjmj2007-09-29 11:39
ding
#12
zjcwg2007-09-29 12:00
很简单:

<%if DateValue(rs("datetime"))=>DateValue(date()-2) then
Response.Write "<img src=""images/new0.gif"">"
%>
#13
angerzl2007-09-29 12:12

加上后,出现:

错误类型:
Microsoft VBScript 编译器错误 (0x800A040E)
'loop' 语句缺少 'do'
/test/公司网站_测试网/双赢招标投标/index.asp, line 262
loop

#14
finaly2007-09-29 12:17
呵呵,看来楼主跟俺一样哦,大侠说的话都不明白
#15
angerzl2007-09-29 12:19

我都急死了,谁叫自己太笨了呢~!~!~!~!~

#16
zjcwg2007-09-29 12:48
数据库的表中一定要有时间的字段(AddDate),才能判断所增加的新闻信息是否属最新的。
以下试试看:

<td width="41%" style='BORDER-bottom: #999999 1px dotted'><font color="#999999" >[<%=rs_news("AddDate")%>]</font><%if DateValue(rs("AddDate"))=>DateValue(date()-2) then
Response.Write "<font color=red>new</font>"%><%end if%></td>

或者:

<td width="41%" style='BORDER-bottom: #999999 1px dotted'><font color="#999999" >[<%=rs_news("AddDate")%>]</font><%if DateValue(rs("AddDate"))=date() then%>
<font color=red>new</font><%end if%></td>



[此贴子已经被作者于2007-9-29 13:01:57编辑过]

#17
angerzl2007-09-29 13:11

谢谢楼上的朋友,不过加上那段代码以后,没有时间限制啊,全部都有小图标~!~!~

www.masztb.com

#18
zjcwg2007-09-29 13:20
回复:(angerzl)谢谢楼上的朋友,不过加上那段代码以...
一个地方有小错误,再试试!

<td width="41%" style='BORDER-bottom: #999999 1px dotted'><font color="#999999" >[<%=rs_news("AddDate")%>]</font><%if DateValue(rs_news("AddDate"))=date() then%>
<font color=red>new</font><%end if%></td>
#19
angerzl2007-09-29 13:34

还是不行,要么都显示,要么一个都没有~!~!

#20
angerzl2007-09-29 13:55
<%if DateValue(rs_news("AddDate"))=>DateValue(date()-2) then
Response.Write "<img src=""image/new1.gif"">"
%><%end if%>
这段结果是不显示


<%if DateValue(rs_news("Datetime"))=>DateValue(date()-2) then
Response.Write "<img src=""image/new1.gif"">"
%><%end if%>

这段结果显示,但是全部


究竟哪里错了啊
#21
zjcwg2007-09-29 13:57
应该没理由的,怎么会出现这种情况?请再详细查看一下代码是否正确。能否把你网上刚才的一段代码复制下来看看。
#22
angerzl2007-09-29 14:10
<%
set rs_news=server.createobject("adodb.recordset")
sqltext4="select top 11 * from jishu where BigClassName='国家法规' order by id desc"
rs_news.open sqltext4,conn,1,1
%>
</span>
<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center">

<%i=0
do while not rs_news.eof%>
<tr align="center" valign="middle">
<td width="5%"><span class="a"><img src="Img/class.gif" width="10" height="10" /></span>&nbsp; </td>
<td width="54%" height="20" style='BORDER-bottom: #999999 1px dotted'> <div align="left"><a href="showjishu.asp?id=<%=rs_news("id")%>" target="_blank" class="a">
<%=cutstr(rs_news("title"),10)%></a></div></td>
<td width="41%" style='BORDER-bottom: #999999 1px dotted'><font color="#999999" >
[<%=rs_news("AddDate")%>]</font><%if DateValue(rs_news("datetime"))=>DateValue(date()-2) then
Response.Write "<img src=""image/new1.gif"">"
%><%end if%></td>
</tr>

<%rs_news.movenext
i=i+1
loop
rs_news.close %>
</table>
#23
angerzl2007-09-29 14:11
数据库里有AddDate,却没有datetime这一栏啊
#24
angerzl2007-09-29 14:45

究竟哪里错了啊~!~!~!~

#25
dushui2652007-09-29 16:28
从数据库中读出新闻的发表时间,再用一个datediff函数来计算出新闻已经发表的时间,具体用法好像是datediff(date,'新闻发表时间',getnow())
#26
angerzl2007-09-29 16:39
楼上的朋友能否具体一点啊~!~~!!谢谢啊~!~!~!
#27
fuhuijun2007-11-05 10:16

用一个表达式啊
就是用当天的时间减去新闻发表的时间就可以了啊
很简单的啊

#28
fuhuijun2007-11-05 11:44


问一下大家,我在分页显示时出现了这样的错误是什么意思啊?

Microsoft VBScript 运行时错误 错误 '800a01a8'

缺少对象: 'reg'

/reg.asp,行 50
请各位高手指教
谢谢?

1