| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:[讨论]站内搜索的问题
只看楼主 加入收藏
疯狂IT界
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-6-6
收藏
 问题点数:0 回复次数:10 
[讨论]站内搜索的问题
我的数据库是这样设计的, 我这个是个电影网站的数据库, 我把所有电影都写到一个表里了. name几就代表一个类型的电影, name1代表动作片,
name2代表爱情片 一次类推.........

id name1 name2 name3 name4 name5 name6
1 xxxx xxxx xxxx xxx xxx xxx
2 xxx xx xx xx xx xxx
3 xx xxx xxxxx xxx xx xxx
4 xxxxx xxx xxx xxx xxx xxx
5 xxx xx xxx xxx xxx xxx
6 xxxx xxxx xxx xxxx xxxx xxx

xxx就代表电影的名字
这样的数据库应该怎么查询呀,我在网站首页弄个搜索,不分类别的就等于是全站搜索,搜索什么只要电影数据库里有,就能搜到,
这应该怎么写代码呀? 还有就是在显示查询结果的页面里怎么写,显示的结果呀,一个字段的好写,比如说搜索1个字段的吧name1里的,那就直接在要显示的查询结果的页面里写<%=rs("name1")%>就行了 (不知道对不对!!初学者) 但要是多个字段的话怎么写,主要是,不知道搜索的内容是从那个字段里搜的, 请大家帮忙 把这两个问题解决了,我不胜感谢,都弄了一天了....联系我QQ也行, 648190879 著名:查询 谢谢 !!!!!!!!
搜索更多相关主题的帖子: 搜索 
2006-07-27 00:56
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 
我觉得你这样建数据库不妥!
你可以建成这样试试!
id
name 电影名称
type 电影的类型
content 电影的介绍
然后你添加的时候就变成:
id name type content
1 超人归来 科幻片   事隔五年超人……
2 疯狂的石头  喜剧片  厕所里发现的一个石头--翡翠……
…………
这样就可以实现你的要求了!
在搜索的时候就用like ,只查片名!name字段
在输出的时候就好办了!~
查到了就写:
<%=rs("name")%>这样还可以做个链接,链接到影片的详细内容!

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-07-27 08:14
疯狂IT界
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2006-6-6
收藏
得分:0 

要是按你这用数据库的话,怎么写代码

我是初学者,请告知,谢谢

[此贴子已经被作者于2006-7-27 8:37:14编辑过]

2006-07-27 08:28
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
知道数据库的范式吗?
看了你的数据真的很想不通,为什么是这样的?

难道说你的每一条记录的每一个字段都有记录?
这种方法到底是什么意思?

http://www./
2006-07-27 08:40
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 

版主是在说我吗?
能够告诉我数据库的范式吗!
我的想法是:
id title type content
1 超人归来 科幻片   事隔五年超人……
2 疯狂的石头  喜剧片  厕所里发现的一个石头--翡翠……
建表保存为movie
然后前面的搜索页面代码就不讲了,我说处理查找的代码:
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="601" height="20" colspan="3" align="center">::<span class="STYLE1">查询结果</span>::</td>
</tr>
<%
dim title
title=request("title")
if title="" then
response.Write("<script language=javascript>alert('请输入要查找的关键字!');history.go(-1)</script>")
else
set rs=server.CreateObject("ADODB.Recordset")
sql="select * from movie where title like '%"&title&"%'"
rs.open sql,conn,1,3
if rs.bof or rs.eof then
response.Write("<script language=javascript>alert('对不起!没有找到!!');history.go(-1)</script>")
else
end if
end if
%>
<tr>
<td align="left" colspan="3" height="444" valign="top"><table width="92%" height="443" border="0" align="center" cellpadding="0" cellspacing="0">
'在这里你可以做个循环的语句
<tr>
<td valign="top"><%=rs("title")%></td>
</tr>
</table>
这就是处理前面表单的信息的代码!


程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-07-27 13:15
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 

这段程序我一直在用它,还好了,但是只是很简单的查询。
你可以试试!


程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-07-27 13:18
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 

斑竹明显说的是楼主。如果想做的更好一些。可以把内容介绍也放到like的语句中。更可以根据type来搜索,这个相对可以提高搜索速度。当然楼主可以一步一步来。

[此贴子已经被作者于2006-7-27 13:27:36编辑过]


Firever Zone
2006-07-27 13:20
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
收藏
得分:0 
firever说的对!你可以有个下拉列表显示你数据库中的所有电影类型,建议用程序写!
然后在去搜索,这样就可以提高搜索效率了!

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2006-07-27 13:35
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
电影类型应该是单独放在一个表中,电影内容(标题、类型、介绍等)放在另一个表中

其中电影内容的类型用数字类型,与电影类型表中的类型ID相一致。

http://www./
2006-07-27 14:29
firever
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-7-20
收藏
得分:0 

斑竹说的没做。不然楼主又要搞不清楚怎么罗列类型了。。。


Firever Zone
2006-07-27 14:48
快速回复:[讨论]站内搜索的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024270 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved