📄 00000032.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: thinkin (强强), 信区: Linux <BR>标 题: Class QueryGenerator <BR>发信站: BBS 水木清华站 (Thu Feb 17 11:09:57 2000) <BR> <BR><?php <BR>/*************************************************************************** <BR>** <BR> Class Query v.1.1 <BR>**************************************************************************** <BR>** <BR> Author: <A HREF="mailto:edward@planet-three.co.uk">edward@planet-three.co.uk</A> <BR> Purpose: <BR> To add a logical query to the SearchEngine class. The logic can be <BR> one of the following : AND , OR, NOT. <BR> Usage: <BR> aquery = new Query("NOT", array("apple", "pear", "bannana")); <BR>**************************************************************************** <BR>*/ <BR>class Query { <BR>//PRIVATE: <BR> var $m_words; <BR> var $m_logic; <BR>//PUBLIC <BR> // <BR> // Constructor <BR> // logic: <AND | OR | NOT> <BR> // words: words to be searched for given logic <BR> function Query($logic, $words) { <BR> $this->m_words = $words; <BR> $this->m_logic = $logic; <BR> } <BR> // print attributes of query <BR> function p() { <BR> echo "$this->m_logic"; <BR> reset($this->m_words); <BR> while(list($i, $word) = each($this->m_words)) <BR> echo ":$word"; <BR> } <BR>}; <BR>/*************************************************************************** <BR>** <BR> Class QueryGenerator v.1.2 <BR>**************************************************************************** <BR>** <BR> Author: <A HREF="mailto:edward@planet-three.co.uk">edward@planet-three.co.uk</A> <BR> purpose: <BR> Generates selection query strings <BR> usage: <BR> query1 = new Query("AND", array("rabbit", "horse", "cow")); <BR> query2 = new Query("OR", array("dogs", "cats", "kangaroos")); <BR> query3 = new Query("NOT", array("sheep")); <BR> querygen = new QueryGenerator(array(query1, query2, query3)); <BR> query = <BR> querygen->GetQueryString("animal_table", "mamals_field", "ID_fiel <BR>d"); <BR> resultid = mysql_query(query); <BR> while(row = mysql_fetch_row(resultid)) <BR> echo "got row id ",row["ID_field"],"<br>"; <BR>**************************************************************************** <BR>***/ <BR>class QueryGenerator { <BR> var $m_Querys; <BR> var $m_start; <BR> var $m_offset; <BR> var $m_wordmatch; <BR> var $m_casematch; <BR>//PUBLIC: <BR> // querys : array of Query objects <BR> // wordmatch: only match whole words <BR> function QueryGenerator($Querys, $wordmatch=false, $casematch=false) { <BR> $this->m_Querys = $Querys; <BR> $this->m_wordmatch = $wordmatch; <BR> $this->m_casematch = $casematch; <BR> $this->Restrict(0,0); <BR> } <BR> // start : start searching data at this pos <BR> // offset : number of records to search after pos <BR> function Restrict($start, $offset) { <BR> $this->m_start = $start; <BR> $this->m_offset = $offset; <BR> } <BR> function GetRestrict(&$start, &$offset) { <BR> $start = $this->m_start; <BR> $offset = $this->m_offset; <BR> } <BR> // table : database table name <BR> // searchfield: field(s) to search in for resultfield(s) <BR> // resultfield: field(s) retrieved from search match <BR> // NOTE: field must be separated by "," eg, "field1,field2" <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -