文章教程

5.18书签共享系统——书签检索

9/17/2020 9:43:31 PM 人评论 次浏览

5.18 书签共享系统——书签检索

在5.15节中已经介绍过了利用标签(tag)来检索书签的应用。实际上,本系统还提供更强大的书签检索功能——在网页顶部的显要位置的检索框输入检索对象关键字,就可以在全体书签中检索出需要的书签。同时点击书签标题后的书签所属网站的链接,也可以检索出与此网站相关的所有书签。

alt

alt

要点

关键字检索是以关键字为条件对表bm_key中关键字列(keyword)进行模糊检索。即以下述的形式组织检索条件。

alt

而网站地址检索,将对bm_master中的书签网址URL进行模糊检索。检索条件如下。

alt

目录

alt

代码

alt

检索功能有两种情况:一种为在form中输入搜索文字后进行的检索,这种情况下通过getPost方法取得搜索条件信息,另一种是直接将搜索条件放在Query信息中,这时用getQuery取得搜索条件信息。

alt

复原经过了代码转换的关键字。没有转换时,经过此处理也不会出错。

alt

调用检索方法doSearch进行实际的检索处理。

alt

根据标志变量flag的不同,确定是否显示master页。

在检索页面使用了Ajax技术,在JavaScript脚本内部调用此检索动作(action)时,是不需要master页的。Ajax技术的特点可以只更新检索页面的一部分。

alt

检索方法中会根据条件(类型type)的不同调用两个方法。类型为URL时,调用doUrlSearch方法检索同一网址中的所有书签;类型为key时,调用doKeyWordSearch方法检索包含相同关键字的所有书签。

alt

根据检索条件不同,设置按钮名称。

alt

调用getSubtitle方法设置检索结果的标题。

alt

splitKeys方法将字符串分离成字符串数组。

alt

将所有的全角空格替换为半角。

alt

将空格(一个以上)替换为逗号。

alt

explode函数用于将以逗号分割的字符串分离成字符串数组。

alt

分离输入字符串中含有的URL(有含有多个URL的情况)。

alt

组合检索条件。

alt

构造检索新追加书签的SQL。注意,检索结果以书签的更新时间为顺序排列。

alt

构造检索人气度高的书签的SQL。检索结果以人气度(被收藏的次数)为顺序排列。

alt

构造检索最近关注度高的书签的SQL。检索条件中追加了人气度大于2(best.c>2)的条件,而且检索结果以书签的更新时间为顺序排列。

alt

循环替换检索中的置换位(key*)。

alt

对检索结果进行格式化。

alt

调用getBookmarkDetails检索书签的补充信息,此方法已经在5.14节作了有关解说,此节不再赘述。

alt

定义按关键字检索书签的方法。方法中的逻辑与doUrlSearch方法非常相似,唯一不同的地方是检索条件的合成代码。

alt

关键字检索的对象表是bm_key,而doUrlSearch方法的检索对象是bm_master。

alt

alt

alt

教程类别