第一个表:是栏目分类表
字段:cid 类型:int 是所有分类的编号(包含一级、二级、三级)
字段:FatherID 类型:int 是此分类的上级分类第二个表:是文章内容表
字段:cid 类型:int 是所有分类的编号(包含一级、二级、三级
字段:title 类型:varchar 文章标题
字段:Commend 类型:int 文章推荐( 0 为不推荐 1 为推荐 )注明:2个表的cid字段是相连的我的要求是:
不管网页浏览者进入网站前台浏览任何一个栏目,都按一下要求显示相关数据。1、当网页浏览者进入网站前台一级分类页面,即显示一级分类下所有推荐的文章。
2、当网页浏览者进入网站前台二级分类页面,即显示二级分类下所有推荐的文章。
3、当网页浏览者进入网站前台三级分类页面,即显示三级分类下所有推荐的文章。
字段:cid 类型:int 是所有分类的编号(包含一级、二级、三级)
字段:FatherID 类型:int 是此分类的上级分类第二个表:是文章内容表
字段:cid 类型:int 是所有分类的编号(包含一级、二级、三级
字段:title 类型:varchar 文章标题
字段:Commend 类型:int 文章推荐( 0 为不推荐 1 为推荐 )注明:2个表的cid字段是相连的我的要求是:
不管网页浏览者进入网站前台浏览任何一个栏目,都按一下要求显示相关数据。1、当网页浏览者进入网站前台一级分类页面,即显示一级分类下所有推荐的文章。
2、当网页浏览者进入网站前台二级分类页面,即显示二级分类下所有推荐的文章。
3、当网页浏览者进入网站前台三级分类页面,即显示三级分类下所有推荐的文章。
解决方案 »
- delete触发器为什么没用
- sql server2000新建组后无法注册,提示:[SQL-DMO]需要使用sql 2005管理工具
- 数据库学习思路,顺便散些分,合理建议的多加分
- SQL数据库转换为Access数据库问题?
- 再求sql,最近发春,一直会想起好多sql要写
- 这是个什么东西?
- zzzmmmzzzmmm
- 备份的问题
- vb中我用ado连接到sqlserver库,现有一打开的connection,在作报表时我需一临时表存放中间数据以进一步处理,如何创建此临时表如何把我当前所得的结果集rsttemp存入此表?请写出具体语句好吗?
- 在存储过程中用sp_addlinkedserver?在线等待立即给分
- sql查找替换问题求助
- 求一sql
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
'截至2010-03-30 20:26:28 用户结帖率0.00% 当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
create table class --分类表
(
cid int,
fatherid int
)
gocreate table news--文章表
(
cid int,
title varchar(20),
commend int
)
go
insert into class
select 1,-1 union all
select 2,1 union all
select 3,2 union all
select 4,3
goinsert into news
select 1,'一级分类',0 union all
select 2,'二级分类',1 union all
select 3,'三级级分类',1 union all
select 4,'四级分类',1
go
alter proc Proc_GetValue
@grade int
as
;WITH
DEPTS AS(
-- 定位点成员
SELECT * FROM class where cid=@grade
UNION ALL
-- 递归成员, 通过引用CTE自身与Dept基表JOIN实现递归
SELECT A.*
FROM class A, DEPTS B
WHERE A.fatherid = B.cid
)
select * from news where cid in (select cid from depts) and commend=1
go
红色部分代码是我想输出的推荐文章
数据连接上了,我控制的是读取10条同类栏目下的推荐文章
可是现在只显示了1条信息,而且所有栏目都是同样的。可我的要求是:
不管网页浏览者进入网站前台浏览任何一个栏目,都按一下要求显示相关数据。1、当网页浏览者进入网站前台一级分类页面,即显示一级分类下所有推荐的文章。
2、当网页浏览者进入网站前台二级分类页面,即显示二级分类下所有推荐的文章。
3、当网页浏览者进入网站前台三级分类页面,即显示三级分类下所有推荐的文章。
<h2>
<%
Dim ID,rs,i,Cid
ID=int(request.QueryString("ID"))
'Call openConn() '打开数据库
Response.Write (conn.execute("Select * from [fuke_Channel] where CID="& ID &"")(6))&" - 栏目</h2>" '输出类别名
%><%
'Dim rs,i '定义变量
Set rs=conn.execute("Select * from [fuke_Channel] where FatherID="& ID &" ") '读取类别表数据,122是耳鼻喉
i=0 '//如果i=0是6的话,那么就只显示一行,多出自动换行
While(Not rs.eof) '//循环列出类别名称及链接
i=i+1
%>
<a href="NewsList.asp?ID=<%=rs(0)%>">【<%=rs(6)%>】</a>
<%
'If i=3 or i=6 Then Response.Write("<br/>") '输出第三个及第六个后换行
If i=1 or i=1 Then Response.Write("<br/>") '输出第三个及第六个后换行
rs.moveNext '切记要加上“rs.moveNext”否则会出现死循环!
Wend
'Call rsClose()
'Call connClose()
%>
<br/>
<h2><b>■ 本栏最新资讯</b><br/></h2><!-- <b></b>是加粗文字 -->
<%
Set rs=conn.execute("Select * From [fuke_Content] where CID="& ID &" order by ID desc") '读取新闻内容表
If Not rs.eof Then
Dim PageSize
PageSize=10 '每一页显示的条数
Dim Count,page,pagecount,gopage '定义相关变量
gopage="NewsList.asp?ID="&ID&"&"
Count=conn.execute("Select count(ID) from [fuke_Content] where CID="& ID &"")(0) '读取新闻总数
page=int(request.QueryString ("page"))
if page<=0 or page="" then page=1 '默认为第一页
pagecount=(count+pagesize-1)\pagesize '计算出页数
rs.move(pagesize*(page-1)) '将游标指到每一页的第一条记录
For i=1 To PageSize '根据每一页的条数进行循环
If rs.eof Then Exit For '如果循环到了尽头,则跳出循环
%>
<img src="Images/RedDot.gif" alt="" />
<!--<a href="NewsShow.asp?ID=< %=rs(0)%>&page=1">< %=rs(3)%></a><br/>-->
<a href="NewsShow.asp?ID=<%=rs(0)%>"><%=rs(3)%></a><br/>
<%
rs.moveNext
Next
response.write ("共:"&count&"条,"&page&"/"&pagecount&"页")
if page-pagecount<0 then response.write "<br/><a href="""&gopage&"page="&page+1&""">下页</a> - <a href="""&gopage&"page="&pagecount&""">尾页</a>"
if page>1 then response.write "<br/><a href="""&gopage&"page="&page-1&""">上页</a> - <a href="""&gopage&"page=1"">首页</a>"
'//下面这一句,是让用户通过输入框输入页数,然后通过链接直接转向该页
'if pagecount>1 then response.write "<br/><input name=""page"" format=""*N"" value="""&page&""" type=""text"" maxlength=""5"" emptyok=""true""/><br/><a href="""&gopage&"page=$(page)"">[跳转到该页]</a>"
Else
%>
<!--本栏暂无资讯!-->
<%
Set rs=conn.execute("Select top 10 * From [fuke_Content] where Commend=1 order by Cid desc") '读取新闻内容表
If Not rs.eof Then
End If
%>
<img src="Images/RedDot.gif" alt="" />
<a href="NewsShow.asp?ID=<%=rs(0)%>"><%=rs(3)%></a><br/>
<%
End If
'Call rsClose()
Call connClose()
%>