谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

时间:2022-09-28 11:18:43
代码如下:

<!--#include file="utf-8.asp"-->
<!--#include file="conn.asp" -->
<!--#include file="config.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%=request("key")%> </title>
<meta name="description" content="<%=config("description")%>" />
<meta name="keywords" content="<%=config("keywords")%>" />
<link href="images/style.css" type="text/css" rel="stylesheet" />
</head>
<body bgcolor="<%=config("bg")%>">
<!--#include file="header.asp" -->
<div align="center"><img src="/images/logo.jpg" width="100" height="80" alt="<%=config("title")%>" title="<%=config("title")%>" /></div>
  <tr>
    <td height="20">
    <div style="border-bottom:#005AB5 15px solid;"></div></td>
  </tr>
<!--#include file="search_so.asp" -->
<%
t=Trim(Request.Form("t"))
key=Trim(Request.Form("key"))
if t="" or key="" then
 Response.Write("<script>alert('请输入关键词!');history.back();</script>")
 Response.End()
end if
if t=1 then
 sql="select * from [shop] where 1=0"
else
 sql="select * from [news] where 1=0"
end if
keyArr=split(key," ")
for i=0 to ubound(keyArr)
  sql=sql&" or title like '%"&keyArr(i)&"%'"
next
set rs=conn.execute(sql)
if t=1 then
%>
<table width="917" border="0" align="center" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
      <tr>
        <td colspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#F0F0F0">
          <tr>
            <td bgcolor="#EBEBEB"><table width="98%" border="0" cellpadding="10" cellspacing="0">
                <tr>
        <td>&nbsp;<b>关于先泽电器开关“<font color="#FF0000"><%=key%></font>”的搜索结果:</b></td>
                </tr>
              </table></td>
          </tr>
          <tr>
            <td valign="top" bgcolor="#FFFFFF">
<tr>
    <td><table width="155" border="0" cellpadding="0" cellspacing="0">
      <tr>
<%
dim i
i=1
do while not rs.eof
%>
        <td><table width="100%" border="0" cellpadding="5" cellspacing="1">
            <tr>
              <td><div align="center"><a href="showshop.asp?id=<%=rs("id")%>" class="img"><img src="<%=rs("img")%>" width="128" height="100" /></a></div></td>
            </tr>
            <tr>
              <td><div align="center"><a href="showshop.asp?id=<%=rs("id")%>"><%=replace(rs("title"),Request.Form("key"),"<font color=red>"&Request.Form("key")&"</font>")%></a></div></td>
            </tr>
        </table></td>
        <%
if i mod 6=0 then
response.Write "<tr>"
end if 
i=i+1 
rs.movenext 
loop 
%>
      </tr>
    </table></td>
  </tr>
</table>
<%else%>
<table width="917" border="0" align="center" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
      <tr>
        <td colspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#F0F0F0">
          <tr>
            <td bgcolor="#EBEBEB"><table width="98%" border="0" cellpadding="10" cellspacing="0">
                <tr>
        <td>&nbsp;<b>关于先泽电器开关“<font color="#FF0000"><%=key%></font>”的搜索结果:</b></td>
                </tr>
              </table></td>
      </tr>
      <tr>
        <td>
<%
if rs.eof then
response.write ("没有搜索到相关内容!")
else
%>
<div class="box14">
<ul>
<% do while not rs.eof %>
<%
title=rs("title")
for i=0 to ubound(keyArr)
keyArr=split(Request.Form("key")," ")
title=replace(title,keyArr(i),"<font color=red>"&keyArr(i)&"</font>")
next
%>
<li> <a href="shownews.asp?id=<%=rs("id")%>"><%=title%></a><img src="/images/search_top.gif" alt="<%=config("title")%>" /> <%=rs("data")%></li>
<%rs.movenext 
loop %>
</ul>
</div>
</td>
      </tr>
    </table></td>
  </tr>
</table>
<%
end if
end if
%></td>
      </tr>     
    </table>
  </tr>
  <tr>
    <td height="20">
    <div style="border-bottom:#005AB5 5px solid;"></div></td>
  </tr>
<!--#include file="foot.asp" -->
</body>
</html>

7 个解决方案

#1


传值过去,然后根据 传过来的值,提取数据,再分页!

               //接收 传过来的 类型ID   
                int typeID = Convert.ToInt32(Request.QueryString["id"].ToString());
                this.Label1.Text = type.getModel(typeID).typeName;

                string strWhere = "  where typeID='" + typeID + "'";
                this.Repeater1.DataSource = shop.GetList(strWhere);
                this.Repeater1.DataBind();
//如果是用 session传值的方法 
string  name=session["name"];
 string strWhere = "  where name='" + name+ "'";
this.Repeater1.DataSource = shop.GetList(strWhere);
                this.Repeater1.DataBind();

#2


作为新手,有不会的提出来求教,目的应该是让自己进步提高,然后自己去完成自己该做的事.
若是按照你这种说法,不会就只是让别人替你完成,那劝你趁早玩别的去,别污辱这个行当.

#3


引用 1 楼 NetVS 的回复:
传值过去,然后根据 传过来的值,提取数据,再分页!

               //接收 传过来的 类型ID   
                int typeID = Convert.ToInt32(Request.QueryString["id"].ToString());
                this.Label1.Text = type……
可以看一下XproerCMS: http://www.cnblogs.com/xproer/archive/2012/02/09/2343945.html,使用ASP开发,布署简单,二次开发容易。
XproerCMS不仅完全开源,而且与同类CMS相比代码质量更高。在构架方面XproerCMS借助于ASP.NET的设计思想创新的设计出了三层构架。
XproerCMS提供了页面行级的代码注释。这些注释将企业的二次开发工作变的比以往更加的简单。

目前XproerCMS包含以下4个系统:
1.用户管理系统
2.新闻管理系统
3.文件管理系统
4.图片管理系统
5.管理员系统
任何开发人员都可以根据自已的需求来修改这四个系统的代码。

项目截图:
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

XproerCMS将数据库的变的更加的简单,任何开发人员只要借助于XproerCMS就能够在极短的时间内打造一套属于自已的CMS。企业借助于XproerCMS能够快速的开发出符合企业自已需求的网站。
以下示例演示如何向数据库中添加一条数据。

<%
'添加公告页面
'更新记录:
' 2012-1-3 创建
Dim op : op = Request.QueryString("op")
Dim ret : ret = 0
Dim id : id = 0
Dim announce
Set announce = New xdb_announce

if op = "add" Then
announce.AnnTitle = Request.Form("antitle")
announce.AnnContent = Request.Form("andata")
announce.AnnTimeStart = Request.Form("dateStart")
announce.AnnTimeEnd = Request.Form("dateEnd")
announce.Insert()
ret = 1
End If

%>


安全方面,XproerCMS使用ADO参数化查询技术,有效的解决了SQL注入漏洞的问题。
示例代码:

'添加到数据库,新建一条数据
Public Function Insert()
Dim sql : sql = "insert into xdb_news(CateID,NewsTitle,NewsContent,NewsColor,NewsStyle,NewsAuthor,NewsFrom,NewsPicture,IsTop,IsRecommend,HasPicture) values(@CateID,@NewsTitle,@NewsContent,@NewsColor,@NewsStyle,@NewsAuthor,@NewsFrom,@NewsPicture,@IsTop,@IsRecommend,@HasPicture)" 

Dim param
Set param = New DbParam
        param.AddIntParam "@CateID",m_CateID
        param.AddTextParam "@NewsTitle",m_NewsTitle,50
        param.AddMemoParam "@NewsContent",m_NewsContent
        param.AddTextParam "@NewsColor",m_NewsColor,7
        param.AddTextParam "@NewsStyle",m_NewsStyle,10
        param.AddTextParam "@NewsAuthor",m_NewsAuthor,20
        param.AddTextParam "@NewsFrom",m_NewsFrom,50
        param.AddTextParam "@NewsPicture",m_NewsPicture,255
        param.AddIntParam "@IsTop",m_IsTop
        param.AddIntParam "@IsRecommend",m_IsRecommend
        param.AddIntParam "@HasPicture",m_HasPicture
Dim db
Set db = New DbHelper
db.ExecuteNonQuery sql,param

Set db = Nothing
Set param = Nothing
End Function


亮点功能如下:
1.自动上传Word图片功能,可将Word中的图片自动上传到Web服务器中。为用户带来的极大的便利。
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
2.批量上传Web图片
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
3.Web截屏功能,特别适合做技术交流使用。用户能够更简单的向公司反馈更详细的信息。
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
4.文件批量上传功能
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

资源下载:
官网下载
, DBank下载
, 开发文档

#4


引用 3 楼 oypleov123 的回复:
可以看一下XproerCMS: http://www.cnblogs.com/xproer/archive/2012/02/09/2343945.html,使用ASP开发,布署简单,二次开发容易。
XproerCMS不仅完全开源,而且与同类CMS相比代码质量更高。在构架方面XproerCMS借助于ASP.NET的设计思想创新的设计出了三层构架。
XproerCMS提供了页面行级的代码注释。这些注释将企业的二次开发工作变的比以往更加的简单。

目前XproerCMS包含以下4个系统:
1.用户管理系统
2.新闻管理系统
3.文件管理系统
4.图片管理系统
5.管理员系统
任何开发人员都可以根据自已的需求来修改这四个系统的代码。

项目截图:
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

XproerCMS将数据库的变的更加的简单,任何开发人员只要借助于XproerCMS就能够在极短的时间内打造一套属于自已的CMS。企业借助于XproerCMS能够快速的开发出符合企业自已需求的网站。
以下示例演示如何向数据库中添加一条数据。

<%
'添加公告页面
'更新记录:
' 2012-1-3 创建
Dim op : op = Request.QueryString("op")
Dim ret : ret = 0
Dim id : id = 0
Dim announce
Set announce = New xdb_announce

if op = "add" Then
announce.AnnTitle = Request.Form("antitle")
announce.AnnContent = Request.Form("andata")
announce.AnnTimeStart = Request.Form("dateStart")
announce.AnnTimeEnd = Request.Form("dateEnd")
announce.Insert()
ret = 1
End If

%>


安全方面,XproerCMS使用ADO参数化查询技术,有效的解决了SQL注入漏洞的问题。
示例代码:

'添加到数据库,新建一条数据
Public Function Insert()
Dim sql : sql = "insert into xdb_news(CateID,NewsTitle,NewsContent,NewsColor,NewsStyle,NewsAuthor,NewsFrom,NewsPicture,IsTop,IsRecommend,HasPicture) values(@CateID,@NewsTitle,@NewsContent,@NewsColor,@NewsStyle,@NewsAuthor,@NewsFrom,@NewsPicture,@IsTop,@IsRecommend,@HasPicture)" 

Dim param
Set param = New DbParam
        param.AddIntParam "@CateID",m_CateID
        param.AddTextParam "@NewsTitle",m_NewsTitle,50
        param.AddMemoParam "@NewsContent",m_NewsContent
        param.AddTextParam "@NewsColor",m_NewsColor,7
        param.AddTextParam "@NewsStyle",m_NewsStyle,10
        param.AddTextParam "@NewsAuthor",m_NewsAuthor,20
        param.AddTextParam "@NewsFrom",m_NewsFrom,50
        param.AddTextParam "@NewsPicture",m_NewsPicture,255
        param.AddIntParam "@IsTop",m_IsTop
        param.AddIntParam "@IsRecommend",m_IsRecommend
        param.AddIntParam "@HasPicture",m_HasPicture
Dim db
Set db = New DbHelper
db.ExecuteNonQuery sql,param

Set db = Nothing
Set param = Nothing
End Function


资源下载:
示例下载
, 开发文档

还不错。亮点功能很吸引人。现在大多数的CMS很少有这样的功能。

#5


回复theforever
首先很感谢你的批评,但我不是做你所说的“这个行当”的人,我是某工业电器公司销售部的职员,我是因应客户要求才接触你所说的“这个行当”。
有很多客户说我们公司产品的型号太多了,公司网站又没有搜索,想找个型号要花很多时间,我见这么多客户都是因为公司网站没有站内搜索造成都问题,我曾经多次向公司申请企业网站改版但一直迟迟没有批下来,可是不断还是有客户提及这问题,为了缓解因没有站内搜索给客户造成的困扰,在公司网站改版申请还没批下前自己临时做个站内搜索,所以我才接触你所说的“这个行当”。
我对这方面是一点基础都没有的人,碰到问题实在没办法解决了才回在这发提问,平常都是用百度看人家怎么解决的。

#6


非常感谢NetVS的回答,但对于一点基础的人来说还真是个新难题,我不知道你给我的代码放在什么地方才行。 谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

#7


也感谢oypleov123和SJack2012的回答,但我恐怕没有时间去建一个网站。

#1


传值过去,然后根据 传过来的值,提取数据,再分页!

               //接收 传过来的 类型ID   
                int typeID = Convert.ToInt32(Request.QueryString["id"].ToString());
                this.Label1.Text = type.getModel(typeID).typeName;

                string strWhere = "  where typeID='" + typeID + "'";
                this.Repeater1.DataSource = shop.GetList(strWhere);
                this.Repeater1.DataBind();
//如果是用 session传值的方法 
string  name=session["name"];
 string strWhere = "  where name='" + name+ "'";
this.Repeater1.DataSource = shop.GetList(strWhere);
                this.Repeater1.DataBind();

#2


作为新手,有不会的提出来求教,目的应该是让自己进步提高,然后自己去完成自己该做的事.
若是按照你这种说法,不会就只是让别人替你完成,那劝你趁早玩别的去,别污辱这个行当.

#3


引用 1 楼 NetVS 的回复:
传值过去,然后根据 传过来的值,提取数据,再分页!

               //接收 传过来的 类型ID   
                int typeID = Convert.ToInt32(Request.QueryString["id"].ToString());
                this.Label1.Text = type……
可以看一下XproerCMS: http://www.cnblogs.com/xproer/archive/2012/02/09/2343945.html,使用ASP开发,布署简单,二次开发容易。
XproerCMS不仅完全开源,而且与同类CMS相比代码质量更高。在构架方面XproerCMS借助于ASP.NET的设计思想创新的设计出了三层构架。
XproerCMS提供了页面行级的代码注释。这些注释将企业的二次开发工作变的比以往更加的简单。

目前XproerCMS包含以下4个系统:
1.用户管理系统
2.新闻管理系统
3.文件管理系统
4.图片管理系统
5.管理员系统
任何开发人员都可以根据自已的需求来修改这四个系统的代码。

项目截图:
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

XproerCMS将数据库的变的更加的简单,任何开发人员只要借助于XproerCMS就能够在极短的时间内打造一套属于自已的CMS。企业借助于XproerCMS能够快速的开发出符合企业自已需求的网站。
以下示例演示如何向数据库中添加一条数据。

<%
'添加公告页面
'更新记录:
' 2012-1-3 创建
Dim op : op = Request.QueryString("op")
Dim ret : ret = 0
Dim id : id = 0
Dim announce
Set announce = New xdb_announce

if op = "add" Then
announce.AnnTitle = Request.Form("antitle")
announce.AnnContent = Request.Form("andata")
announce.AnnTimeStart = Request.Form("dateStart")
announce.AnnTimeEnd = Request.Form("dateEnd")
announce.Insert()
ret = 1
End If

%>


安全方面,XproerCMS使用ADO参数化查询技术,有效的解决了SQL注入漏洞的问题。
示例代码:

'添加到数据库,新建一条数据
Public Function Insert()
Dim sql : sql = "insert into xdb_news(CateID,NewsTitle,NewsContent,NewsColor,NewsStyle,NewsAuthor,NewsFrom,NewsPicture,IsTop,IsRecommend,HasPicture) values(@CateID,@NewsTitle,@NewsContent,@NewsColor,@NewsStyle,@NewsAuthor,@NewsFrom,@NewsPicture,@IsTop,@IsRecommend,@HasPicture)" 

Dim param
Set param = New DbParam
        param.AddIntParam "@CateID",m_CateID
        param.AddTextParam "@NewsTitle",m_NewsTitle,50
        param.AddMemoParam "@NewsContent",m_NewsContent
        param.AddTextParam "@NewsColor",m_NewsColor,7
        param.AddTextParam "@NewsStyle",m_NewsStyle,10
        param.AddTextParam "@NewsAuthor",m_NewsAuthor,20
        param.AddTextParam "@NewsFrom",m_NewsFrom,50
        param.AddTextParam "@NewsPicture",m_NewsPicture,255
        param.AddIntParam "@IsTop",m_IsTop
        param.AddIntParam "@IsRecommend",m_IsRecommend
        param.AddIntParam "@HasPicture",m_HasPicture
Dim db
Set db = New DbHelper
db.ExecuteNonQuery sql,param

Set db = Nothing
Set param = Nothing
End Function


亮点功能如下:
1.自动上传Word图片功能,可将Word中的图片自动上传到Web服务器中。为用户带来的极大的便利。
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
2.批量上传Web图片
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
3.Web截屏功能,特别适合做技术交流使用。用户能够更简单的向公司反馈更详细的信息。
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!
4.文件批量上传功能
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

资源下载:
官网下载
, DBank下载
, 开发文档

#4


引用 3 楼 oypleov123 的回复:
可以看一下XproerCMS: http://www.cnblogs.com/xproer/archive/2012/02/09/2343945.html,使用ASP开发,布署简单,二次开发容易。
XproerCMS不仅完全开源,而且与同类CMS相比代码质量更高。在构架方面XproerCMS借助于ASP.NET的设计思想创新的设计出了三层构架。
XproerCMS提供了页面行级的代码注释。这些注释将企业的二次开发工作变的比以往更加的简单。

目前XproerCMS包含以下4个系统:
1.用户管理系统
2.新闻管理系统
3.文件管理系统
4.图片管理系统
5.管理员系统
任何开发人员都可以根据自已的需求来修改这四个系统的代码。

项目截图:
谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

XproerCMS将数据库的变的更加的简单,任何开发人员只要借助于XproerCMS就能够在极短的时间内打造一套属于自已的CMS。企业借助于XproerCMS能够快速的开发出符合企业自已需求的网站。
以下示例演示如何向数据库中添加一条数据。

<%
'添加公告页面
'更新记录:
' 2012-1-3 创建
Dim op : op = Request.QueryString("op")
Dim ret : ret = 0
Dim id : id = 0
Dim announce
Set announce = New xdb_announce

if op = "add" Then
announce.AnnTitle = Request.Form("antitle")
announce.AnnContent = Request.Form("andata")
announce.AnnTimeStart = Request.Form("dateStart")
announce.AnnTimeEnd = Request.Form("dateEnd")
announce.Insert()
ret = 1
End If

%>


安全方面,XproerCMS使用ADO参数化查询技术,有效的解决了SQL注入漏洞的问题。
示例代码:

'添加到数据库,新建一条数据
Public Function Insert()
Dim sql : sql = "insert into xdb_news(CateID,NewsTitle,NewsContent,NewsColor,NewsStyle,NewsAuthor,NewsFrom,NewsPicture,IsTop,IsRecommend,HasPicture) values(@CateID,@NewsTitle,@NewsContent,@NewsColor,@NewsStyle,@NewsAuthor,@NewsFrom,@NewsPicture,@IsTop,@IsRecommend,@HasPicture)" 

Dim param
Set param = New DbParam
        param.AddIntParam "@CateID",m_CateID
        param.AddTextParam "@NewsTitle",m_NewsTitle,50
        param.AddMemoParam "@NewsContent",m_NewsContent
        param.AddTextParam "@NewsColor",m_NewsColor,7
        param.AddTextParam "@NewsStyle",m_NewsStyle,10
        param.AddTextParam "@NewsAuthor",m_NewsAuthor,20
        param.AddTextParam "@NewsFrom",m_NewsFrom,50
        param.AddTextParam "@NewsPicture",m_NewsPicture,255
        param.AddIntParam "@IsTop",m_IsTop
        param.AddIntParam "@IsRecommend",m_IsRecommend
        param.AddIntParam "@HasPicture",m_HasPicture
Dim db
Set db = New DbHelper
db.ExecuteNonQuery sql,param

Set db = Nothing
Set param = Nothing
End Function


资源下载:
示例下载
, 开发文档

还不错。亮点功能很吸引人。现在大多数的CMS很少有这样的功能。

#5


回复theforever
首先很感谢你的批评,但我不是做你所说的“这个行当”的人,我是某工业电器公司销售部的职员,我是因应客户要求才接触你所说的“这个行当”。
有很多客户说我们公司产品的型号太多了,公司网站又没有搜索,想找个型号要花很多时间,我见这么多客户都是因为公司网站没有站内搜索造成都问题,我曾经多次向公司申请企业网站改版但一直迟迟没有批下来,可是不断还是有客户提及这问题,为了缓解因没有站内搜索给客户造成的困扰,在公司网站改版申请还没批下前自己临时做个站内搜索,所以我才接触你所说的“这个行当”。
我对这方面是一点基础都没有的人,碰到问题实在没办法解决了才回在这发提问,平常都是用百度看人家怎么解决的。

#6


非常感谢NetVS的回答,但对于一点基础的人来说还真是个新难题,我不知道你给我的代码放在什么地方才行。 谁能为一个刚接触ASP的新手完成站内搜索结果分页处理,感谢!

#7


也感谢oypleov123和SJack2012的回答,但我恐怕没有时间去建一个网站。