ajax站内搜索关键词自动提示-站长杂谈下载

ajax站内搜索关键词自动提示

开通本站Svip会员,全站资源免费下
适用版本:        phpwind8.7
- h1 V7 J. h- F4 {$ k( G6 @语言编码:        GBK简体
( r! d, B' G0 {, t7 |* {8.7可用,没有试过开启云搜索后还能不能用,因为我的站还不够格……开了云搜索的帮看一下呗,另外今天修改了算法,要的pm(等做得比较完善再发更新)5 T0 |& O' d1 _- ^* z
(移花接木东拼西凑鼓捣出来的东西,没有完善,但是基本功能已经实现了,希望安装的朋友帮助一起完善它。遗憾的是它没法用在云搜索……今天朋友告诉我这个东东竟然出现在那个人的站上,无语了)
  V2 X& Z& M+ X0 l不好意思,忘记设置关闭数据库连接了,请在suggest.php的最后一行“?>”前面增加“mysql_close($conn);”不含双引号,注意结尾有一个分号“;”,也可以直接下载附件里的suggest.rar文件,解压后用里面的suggest.php替换原来的
# u5 {( N# u% X. N其实老早就想弄个搜索提示了,但是又很担心太占用资源,昨天好好想了一下,应该是利远大于弊的。$ Q( a4 b1 V) @  B6 a
试想,如果会员搜索一个关键词找不到内容,就会更换关键词重新搜索,这样的搜索是全局搜索,而ajax搜索提示只需要检索searchstatistic一个数据表,就能帮助搜索着找到自己想要的关键词,两相比较,开启搜索提示功能不仅方便了论坛用户(可以少打不少字嘛),如果合理使用的话,其实反而会减全局检索次数,从而减轻搜索带来的服务器压力。最终决定,尝试整这个东西。& v+ ]+ g: \( i% }: F

% F* Z, R+ d  L3 J& w工作原理是调用pw自己的的pw_searchstatistic(搜索记录表,记录所有被搜索过的关键词),找出与正在输入的文字相关的关键词并罗列出来,因为不改变数据库结构,所以安装和删除都很方便,绿色环保。
" K  e. ^6 T, X& Q如果你不想调用搜索记录表,也可以调用TAG.html" target="_blank" class="relatedlink">标签或者其他的
! |& O% D- C" ~- |
0 B* k7 F% h1 D5 N! U+ J安装方法:
7 u* _  D7 u; e* Q* F& ^. S一、别担心,模板只需要修改一个文件的两处就好了(不过如果你需要个人中心和search.php页面也都是用这个功能,就需要自己修改这些页面的模板文件了)
. \2 O( ?* x( o; u0 T! g1、打开template/wind/header.htm(如果你使用的其他风格,请修改风格模板下的header.htm文件)
. H& E. e% G2 p( D+ c3 a0 G) W查找:9 s4 V* q  w3 l5 x  A
复制代码: }1 x/ X* g  L

7 \3 [3 G: N/ I3 b" `    <SCRIPT type="text/javascript" language="JavaScript" src="js/core/core.js"></SCRIPT>
( w4 P; _1 }* j7 k6 C$ X
8 M7 V9 L' {: K% y( k0 a6 Y# t( d2 ^6 W0 l

, y" \. P$ L( v) c. n* j- H% q3 [/ K* C在它下面添加(其实只要放在</head>标签上面就行了)& d1 X* K2 E0 M+ [2 N  a% i
复制代码9 M' }" p; g6 h( V5 f

4 B: R7 @) Z) B' `    <link href="suggest/CSS/jquery.autocomplete.css" type=text/css rel=stylesheet>
6 K5 \8 r3 j: L1 l5 B8 f7 U    <script type="text/javascript" src="suggest/js/jquery.js"></script>
$ f8 }2 n& @/ w) O$ ~! W4 m    <script type="text/javascript" src="suggest/js/jquery.autocomplete.js"></script>- e# q  e8 r! [9 @7 W
    <script language="javascript">
+ q: q$ X; F* N                $(document).ready(function() {
0 h+ _5 n. s2 F. d+ `8 j                $("#keyword").autocomplete("suggest/suggest.php",
# X+ M: ^# s9 P9 i: p4 Y                {
2 ^) f1 J( X3 F5 D: O& O: J" i                    delay:10,
8 ]" e7 r& {1 [                    minChars:1,; ~3 Q1 Z( Q* f
                    matchSubset:1,& O: ~+ y# _4 K* J7 }9 k6 ?$ t
                    matchContains:1,
" D7 }9 [. B* B  P. N                    cacheLength:10,0 p- C& k+ @/ m( D* z, ?
                    onItemSelect:selectItem,
/ q1 ]0 `6 E( ^7 i                    onFindValue:findValue,
' ]9 X3 a" O4 s% J                    formatItem:formatItem,
, ]8 y: {- s* @/ Q2 }$ D                    autoFill:false& w6 M+ Q2 S% c% R. J
                }
5 w- R# Q- z2 M$ Q                );
# E6 R, F' X% P- |                });: O) E9 J4 v' @3 N4 I+ k$ F, L
                function findValue(li) {
+ s& {) p3 q' I" M                    if( li == null ) return alert("No match!");
! J2 R- s9 K4 _0 A6 _                    if( !!li.extra ) var sValue = li.extra[0];* E* ~6 d" q/ b1 a+ Y* s' t% Z
                    else var sValue = li.selectValue;
( Q- p: S; n5 J( L( N                    }
7 _# Q8 i9 z; p1 z                function selectItem(li) { findValue(li);}1 C/ q$ u2 [/ Q5 _9 j$ `1 r
                function formatItem(row) { return row[0];//return row[0] + " (id: " + row[1] + ")"
# ?! O7 a) d2 K                }! g! K1 s1 T8 m; Q+ P/ p  V
                function lookupAjax(){7 ?: s  @2 S- h1 |3 c$ E, l% W
                var oSuggest = $("#keyword")[0].autocompleter;
& u% ^: ~' |$ y+ l( C                oSuggest.findValue();
( ^9 ^9 X6 `) W% A: y                return false;  P% g( d" w5 M; F
                }7 K0 Q; z1 W# |8 c1 n
    </script>
" S- Z9 U6 \) L) U) Z6 C. t2 Q  o: y) z
0 H0 ?1 t# q( z+ r, H0 G

' a2 h, L0 J3 ^6 U2、查找(大概在531行)
% w7 Y! t- U6 d& Q5 a# {复制代码
! Y! L) g9 y" P7 D$ L/ q# {: b' r% y7 A1 Y8 A' T
    <div class="ip"><input id="search_input" type="text" value="搜索其实很简单! (^_^)" class="gray" name="keyword" /></div>. n+ W$ o" G9 i
0 s# d+ [, d9 l8 b: u4 Z4 \' x( _

5 p7 E8 v9 e2 q% }. J! Y" @" X- c) s
替换为(其实就是把搜索输入框的id由search_input改为keyword)8 s) A+ S9 v  I) Y
复制代码  E1 L) _2 p8 @, z; z, k* N; l
1 z5 a2 M6 f; w- r1 I7 T7 L
    <div class="ip"><input id="keyword" type="text" value="搜索其实很简单! (^_^)" class="gray" name="keyword" />
( h7 x2 U. L1 W: o+ D6 J. `$ D
% r# n. K" z- w& B4 D: N) {' D5 o  `3 E

! h& W5 A: ]& p" T) }* X+ W, [二、修改附件里的数据库配置文件3 D. T" t' b! R! C! P
打开附件里面的suggest/conn/conn.php文件,修改里面的数据库配置为你的数据库配置
. _0 b: l! w# Z6 I) P) G& u4 [4 Y
: T: n4 l! g1 H三、如果你安装论坛的时候修改了默认的pw_前缀,请修改附件中suggest/suggest.php文件第七行的数据表前缀。
( y& j" X. a: x5 t% @3 v
( x' c# }9 y7 i四、上传附件里suggest文件夹及其下所有文件到论坛根目录,完成。
+ z* I. H( ~/ H& V) f3 o8 E& f! Y' R* [7 f, l- ~0 c
截图演示:
3 x* ?* P' @2 @; Q2 H( s* I) ?" {5 p3 x 1106377wib8h7rub8l7hy4.jpg.thumb.jpg ' ~' |" v( o$ o/ y+ ^, Q, F  k4 j0 I
亲爱的游客您好,请 登录 后进行 回复

% }8 A  @4 w+ B1 M* S" G2 v. B0 e. ]: Z  i8 C. i

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部