■■想了一下午没想出来,请教一个调用数据显示排列的问题■■
数据库的结构大体这样的
id type title addtime
1 单选题 题目标题1
3 多选题 题目标题3
8 多选题 题目标题8
9 问答题 题目标题9
12 单选题 题目标题12
15 单选题 题目标题15
27 多选题 题目标题27
28 问答题 题目标题28
...
======================显示出来的是这样的
一、单选题
1.题目标题1
2.题目标题12
3.题目标题15
二、多选题
4.题目标题3
5.题目标题8
6.题目标题27
三、问答题
7.题目标题9
8.题目标题28
====================================
这样该如何写?关键是如何判断每个大的题目类型,然后所有的题目序号还得依次排列出来,我想了一下午也不知道该如何写sql语句好点,一条sql查询可以实现吗?各位帮帮忙吧
------解决方案--------------------试试
select * from [table] order by type,id
------解决方案--------------------function GetInfo(typeName)
set rs=Server.CreateObject( "Adodb.Recordset ")
sql= "select * from 你的数据库 where type= ' "&typeName& " ' "
rs.open sql,conn,1,1
do while not rs.eof
GetInfo=rs( "title ")& " <br> "
rs.movenext
loop
rs.close:set rs=nothing
end function
GetInfo( "单选题 ")
GetInfo( "多选题 ")
GetInfo( "问答题 ")
------解决方案--------------------加上序号:
function GetInfo(typeName)
set rs=Server.CreateObject( "Adodb.Recordset ")
sql= "select * from 你的数据库 where type= ' "&typeName& " ' "
rs.open sql,conn,1,1
do while not rs.eof
GetInfo=rs( "id ")&rs( "title ")& " <br> "
rs.movenext
loop
rs.close:set rs=nothing
end function
response.Write( "一、单选题 <br> ")
GetInfo( "单选题 ")
response.Write( "二、多选题 <br> ")
GetInfo( "多选题 ")
response.Write( "三、问答题 <br> ")
GetInfo( "问答题 ")
------解决方案--------------------这样可以得到循环序号:
i=0
do while not rs.eof
i=i+1
GetInfo=i&rs( "title ")& " <br> "
rs.movenext
loop
------解决方案--------------------那就稍微麻烦点,首先要判断山一次的循环次数,然后设置i的初始值
------解决方案--------------------那就用两个镶套循环,一个专门处理序号,另一个负责列标题,你试试看 弄不好我再帮你!