返回   CHF站长论坛 > 综合讨论区 > 网站开发与设计

网站开发与设计 网页设计、网站开发、网站维护与调试交流区。

双至强仅二千,企商在线,最早租用商 魔兽世界私服 魔兽世界私服 亿恩1元帮您升级服务器! 天龙八部私服 完美世界私服 新开传奇私服
传奇私服 热血江湖私服 仙境私服 天龙八部私服 魔域私服 魔域私服 新开传奇私服 魔域私服 传奇私服
发表新主题 回复
 
主题工具 主题评分 显示模式
旧 2005-09-07, 22:50   #1 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17760
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认 ASP随机提取数据库记录

PHP 代码:
<!--#include file="数据库连接"-->
<%
"一个从数据库中随机读取纪录的例子
  Set Rs1=server.CreateObject ("
adodb.recordset")
  Set Rs=server.CreateObject ("
ADODB.RECORDSET")
  SQL="
Select id from Article order by id desc"
  rs.Open sql,dataconn,1,1
  If not rs.EOF then
   total=rs("
id")  "取最大的ID
   rs
.Close   
定义随机数
..
  
Randomize
  R
=Int((total 11) * Rnd 1)  
  
SQL="Select id,content from Article where id="R
  rs
.Open sql,dataconn,1,1
  
if not rs.EOF then
    content
=RS("content")
    
content=replace(content,chr(10),"<br>")
    
content=replace(content,chr(13),"<br>")
    
content=replace(content,"<br><br>","<br>")
    
Response.Write   content
   
else
   
sql1="select content from Article"
   
rs1.Open sql1,dataconn,1,1
   
if not rs1.eof then
   
"取第一条纪录作为默认的显示纪录
   content=RS1("
content")
    content=replace(content,chr(10),"
<br>")
    content=replace(content,chr(13),"
<br>")
    content=replace(content,"
<br><br>","<br>")
    Response.Write   content
   else
   "
数据库为空
   Response
.Write "不存在"
   
end if
   
rs1.Close    
   end 
if
Rs.Close
end 
if
set Rs=nothing
%> 


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2005-09-07, 23:02   #2 (页面定位)
老林©
 
老林 的头像
 
注册日期: 2005-09-06
帖子: 10371
老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星
默认

更简单的方法

随机提取10条记录的例子:

Sql server:

select top 10 * from 表 order by newid()

Access:

SELECT top 10 * FROM 表 ORDER BY Rnd(id)

Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成

比如用姓名字段(UserName)

SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))

MySql:

Select * From 表 Order By rand() Limit 10
老林 当前离线   回复时引用此帖
旧 2005-09-07, 23:09   #3 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17760
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

又学到一招
引用:
SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName))
哈哈


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2005-09-08, 08:30   #4 (页面定位)
吴天
 
注册日期: 2005-09-08
帖子: 16
吴天 是普普通通的会员
默认

如果记录不连续呢,也就是其中删除了多条呢,这样可能会取不出来记录的
吴天 当前离线   回复时引用此帖
旧 2005-09-08, 08:31   #5 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17760
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

引用:
作者: 吴天
如果记录不连续呢,也就是其中删除了多条呢,这样可能会取不出来记录的
如果记录不连续,,用老林的那种方法不错..


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
回复

书签

标签

主题工具
显示模式 对此主题评分
对此主题评分:



所有时间均为北京时间。现在的时间是 22:19