asp 分组显示图片,并且每个分组显示3张图片到前台

来源:百度知道 编辑:UC知道 时间:2024/06/16 23:30:51
asp 分组显示图片,并且每个分组每行显示3张图片到前台,

图:
x1,x2,x3
y1,y2,y3
z1,z2,z3
x1,y1,z1... 是分类,分类的数目根据另一个表的分类数目决定,如果数目多于3个,则在下一页显示,依次类推;
每个组图片数量不确定,如果多余3张,前台也显示3张,多余的不显示;如果少于3张,则显示以有的次组所有的图片;

图片数据在数据库是杂乱的,我通过select语句分组,前台显示却不能做到每个组只显示3张图片.

select top 3 * from XXX where YYY 这个我知道,我现在想知道的是怎么在 每一行上只输出一个组,而且是要自动的,不要每行输出都要去用一遍select top 3 * from XXX where YYY;
YYY这个分组类型怎么让他自动改变??

首先,你x1,x2,x3和y、z是不是分类的,如果是直接按照分类提取前三张就可以了,语法如下:
select top 3 * from table where ……order by ……
如果是同一类,你可以做一个如下的循环:
select ……
……
rs.open ……
<table>
<%do while的循环语句%>
<tr>
<td>
<%=第一个%>
<%
rs.movenext
%>
</td>
<td>
<%=第二个%>
<%
rs.movenext
%>
</td>
<td>
<%=第三个%>
<%
rs.movenext
%>
</td>
</tr>
<%

loop
%>
</tr>
</table>

当然你也可以在每一个<td>中判断下面一个是否已经结束,然后退出循环。
还可以<td>也循环,大体思路一致。

再简单一点,你需要的就是:
select top 3 * from ……
top 3 就是显示的最新的需要显示的三个,就不会全部出来了。

把分组做成数组,放在前面,然后用个循环提取数组不就可以了吗?好像没有人这么做就是了。

还有一点,你这个类型可以多看看网上书店或者网上商店的源代码,太多了。

你说的应该是一行显示三个图片吧,然后换行是