게시글을 태그로 검색할때 tags table을 이용하도록 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2915 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-04 12:22:54 +00:00
parent 95c53a9988
commit bb065b6e77
4 changed files with 47 additions and 3 deletions

View file

@ -194,8 +194,17 @@
else $args->s_is_secret = '';
break;
case 'tag' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_tags = $search_keyword;
$oDB = &DB::getInstance();
$tmp_str_arr = explode(' ',$search_keyword);
$tmp_count = count($tmp_str_arr);
$tag_arr = array();
for($i=0;$i<$tmp_count;$i++) {
$tmp_str = trim($tmp_str_arr[$i]);
if(!$tmp_str) continue;
$tag_arr[] = $oDB->addQuotes($tmp_str);
}
$args->s_tags = "'".implode("','",$tag_arr);
$query_id = 'document.getDocumentListWithinTag';
break;
case 'readed_count' :
$args->s_readed_count = (int)$search_keyword;

View file

@ -0,0 +1,23 @@
<query id="getDocumentListWithinComment" action="select">
<tables>
<table name="documents" alias="documents" />
<table name="tags" alias="tags"/>
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="documents.document_srl" default="tags.document_srl" notnull="notnull" pipe="and" />
<condition operation="in" column="tags.tag" var="s_tags" notnull="notnull" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="asc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
<groups>
<group column="documents.document_srl" />
</groups>
</query>