开个鞋店得投资多少钱:高分请教数据库高手

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 03:52:39
在一个数据库里定义了如下项:
arc_id, 编号
cat_id, 地址号
art_title, 文章题目
art_data, 文章加入时间
art_poster, 作者
atr_form, 来源
art_count, 流浏次数
art_content, 图片地址
art_keyword, 关键词
pic_url, 缩位图地址
isbest. 是否推荐
现在主页中要显示从这个表中输出的三个缩位图,条件是"where isbest = 1 ORDER by art_id DESC"
我想问的是:
1:怎样查询按时间排序中的第七个到第九个图片?
2:我首页的宽度只能显示三张图。如果连续6张的话它会一直排着过。扩大宽导航条。要怎样设置数据库里的分行显示?也就是第四张到第六张排在前三张下面而不扩宽导航条。
如能解答将提高分值。。谢谢。。

一:select top 3 art_content from 表 where isbest=1 and art_id not in(select top 6 art_id from 表 where isbest=1 order by art_data DESC) order by art_data DESC


SELECT * FROM 表 WHERE isbest=1 ORDER by art_id DESC

<% int i = 0;
Result.beforeFirst(); while (Result.next())
{ i++;
if (i % 3 == 0)
{ %>
response.write "<img src="&art_content&">";<br>
<%
}
else
{
%>
response.write "<img src="&art_content&">"
<%
}
}
%>

1.你可以改用ORDER by art_data DESC(或ASC)然后移动结果集的游标到第七个第九个记录(如果是JSP的话用next()方法移动向下移动游标)
2.可以每次只输出三张图片,然后输出一个换行符<br>(如果是JSP的话就写out.print("<br>"),一定得这样写,不能用println(""),因为Html会把程序生成的换行符换成空格,而<br>是Html代码,不会被换掉),再输出下三个图,然后循环
希望我说的对你有所帮助!

1:
select top 3 art_content from tablename where isbest=1 and art_id not in(select top 6 art_id from tablename where isbest=1 order by art_data DESC) order by art_data DESC
2:
你应该是用循环写图片吧
在循环里加个语句 <%if i=3 then%><br><%end if%>
循环要是从0开始就是i=2
要是图片较多,就是<%if i-int(i/3)*3=0 then%><br><%end if%>
循环要是从0开始就是<%if i+1-int((i+1)/3)*3=0 then%><br><%end if%>

第1个问题
直接查:select * from table where rownum>=7 and rownum<=9 and isbest=1 order by art_data desc
套用子查询:select * from (select * from 表 where isbest=1 order by art_data desc) where rownum>=7 and rownum<=9

第2个问题:
建立好rs,输出图片里用for循环的时候
for i=1 to 6
if rs.eof then exit for'当循环到rs没数据时自动结束for循环
response.write "<img src="&art_content&">"'图片参数自己补充完整
if (i mod 3)=0 then response.write"<br>"'当i为3整除时则输出换行符
next

完成了!

第1个问题

SELECT * FROM table
WHERE isbest=1
ORDER BY art_data desc
LIMIT 7,3; //<-print 7,8,9

第2个问题:

SELECT * FROM table
WHERE isbest=1
ORDER by art_id DESC

利用上述sql语句将表中数据检索出来,结果集放在Result中.
<%
int i = 0;
Result.beforeFirst(); //<-将结果集指针移到第一位
while (Result.next())
{
i++;
if (i % 3 == 0)
{
%>
将图片输出;<br>
<%
}
else
{
%>
将图片输出;
<%
}
}
%>