联系方式

站长:
联系人:赵先生
手机:18183869808

QQ 64816414
保健茶:

联系人:罗小姐

电话:15368244381

QQ 834856496

JS调用随机显示SQLserver数据库记录
发布者:zaq 类型:杂器快贴 发布时间:2018-11-16 5:25:45 浏览:5717次 [回复]
我们的网站为了更容易被引擎收录,大多使用了FSO生成了静态的文件。比如以html或则htm为后缀的文件。那么我们还能不能在页面中如何读取数据库并显示出来了?答案是肯定的。那就是使用JS调用一个动态的文件。这样的方案在我们的文章系统中通常使用。例如:文章的页面是HTML的,我们使用JS调用数据库读取的文章浏览次数。

下面是ASP连接数据库并且读取随机的数据。我们把她写成了函数。这里可以任意设置函数中的参数改变读取数据库记录的个数。(转载请保留www.it055.com版权!作者:卢钢)
程序正文:

以下为代码部分:
<%

Set conn = Server.CreateObject("ADODB.Connection")
strsql="PROVIDER=SQLOLEDB;DATA SOURCE=服务器IP;UID=数据库用户名;PWD=密码;DATABASE=数据库名"
'connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open strsql

'这程序是调用数据库中随机数据的

sql="select * from geyan where geyan_yuyan=0"
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open sql,conn,1,1

DIM Appeared
'#DisRndRecord(DisNum,rsBound)
'#参数DisNum:显示数量
'#参数rsBound:随机数产生范围
Sub DisRndRecord(DisNum,rsBound)
DIM i,ThisRnd
If rsBound < DisNum Then DisNum = rsBound'记录总数小于要抽取记录条数的情况
For i = 0 To DisNum - 1
ThisRnd = GetRnd(rsBound)'取得一个不重复的随机数
rs.Move(ThisRnd)'游标移动到随机数位置数读取
Response.Write(rs("geyan_info"))'注意这里的数据库字段,在实际设计中请更改相应显示的字段
rs.Move(-ThisRnd)
Next
End Sub
'# 函数GetRnd(bound)返回一个不重复的随机数字
'#参数bound:随机范围
Function GetRnd(bound)
DIM ranNum
Randomize()
ranNum=int(bound*rnd)
If Instr(Appeared,"["&ranNum&"]") Then'产生的随机数是否出现过
ranNum = getRnd(bound)
End If
Appeared = Appeared & "["&ranNum&"]"'记录已出现的随机数
GetRnd = ranNum
End Function

%>

以下为代码部分:
我们在上面的饿程序正文最后加入
document.write("<%Call DisRndRecord(1,rs.recordCount)%>")代码保存为文件geyan.asp

我们在需要随机显示的HTML文件的某个位置插入代码:

以下为代码部分:
<script language="javascript" src=geyan.asp></script>
源地址:http://www.zaqi.net/word_view.asp?files_id=1391
上一篇:类似QQ消息的弹出窗口
下一篇:再来几个windows选项卡代码七
零售:¥18元
批发:¥15元
零售:¥52元
批发:¥35元
零售:¥12元
批发:¥8元
零售:¥2,350元
零售:¥48元
批发:¥46元
杂器网络版权所有  免责声明