如果图片随机排序和固定位置显示图片?

AppleBBS 2006-06-13 10:45:44
随机排序的SQL已经做好了
If IsSql = 1 Then '如果是SQL Server的数据库
SortField = "NEWID()"
Else 'Access数据库
Randomize
SortField = "Rnd(-(PicID + " & Rnd() & "))"
End If

Sql = "SELECT * FROM PB_Pic WHERE PicClassID = " & Trim(Request("ClassID")) & " ORDER BY " & SortField
随机排序的问题是做好了,但是新的问题却来了。

比如页面里36个方格,(一个table里有6列6行)每个图片放在一个方格里,在后台可以设置每个图片的位置编号(字段PicPosition)(比如从1-36),也可以设置为不限制位置,不限制的话就是随机排列在36个方格中(不能占用有固定位置编号的图片的方格),限制的话图片只能放在对应编号的方格里,这个怎么做啊?还要考虑数据库中总共不到36条记录,如果某个图片的位置编号是36的话,这个图片就只能放在最后一个方格里。
...全文
315 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2006-11-09
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE=vbscript >
'洗牌
Dim N,S,D,P
P=54'牌的数量
Set D = CreateObject("Scripting.Dictionary")
do while D.Count<P
Randomize
N=Int(P * Rnd + 1)
if not D.Exists(cstr(N)) then
D.Add cstr(N),cstr(N)
end if
loop
for each K in D.Keys
S=S & K & " "
next
msgbox replace(trim(S)," ",",")
</SCRIPT>

access
select top 5 * from [table] order by rnd(id)

sql server
select top 5 * from [table] order by newid()
xiaoyuehen 2006-06-13
  • 打赏
  • 举报
回复
设总显示为 TotalNum 个.
先用一条语句取出所有已编号的记录...并获得个数 MarkNum
再用 top (TotalNum - MarkNum)...where 标记 = 0 得出其他未作标记的图片..
AppleBBS 2006-06-13
  • 打赏
  • 举报
回复
已经说的很清楚了怎么就不明白呢
比如偶有20个图片,有2个图片有位置编号(1,36),15个图片没有位置编号,有编号的只能放在1跟36这2个方格里。没编号的随机排在除去“1跟36”2个方格之外的34个方格里。
tatty_bad 2006-06-13
  • 打赏
  • 举报
回复
看不明白你的意思。。。。
lolo2006 2006-06-13
  • 打赏
  • 举报
回复
好难
关注学习
AppleBBS 2006-06-13
  • 打赏
  • 举报
回复
老鸟都哪去了啊?救命呀
AppleBBS 2006-06-13
  • 打赏
  • 举报
回复
高手快点来救偶啊
slayerbb 2006-06-13
  • 打赏
  • 举报
回复
随机数取的时候去掉已存在的编号。
AppleBBS 2006-06-13
  • 打赏
  • 举报
回复
已编号的你怎么对号入座啊,直接循环输出的话肯定都是排在前2个位置的 偶要的效果是1号图片排在1号方格里,36号图片排在36号方格里啊 中间的34个方格留给剩下的未编号的图片随机排放的。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧