indexSearchGo

Back to Top
官方LINE:@jdx8494u 廣告專線(04)2358-8206 service@888civil.com
功能選單
搜尋
廠商分類
我的
客服
/免費刊登廠商黃頁/

getPathway(); $pathway->setItemName('0' ,'搜尋結果'); if($_GET["type"]=="all" AND $_GET["search"]!='') { $keyword = trim($_GET['search']); $keywordEX = explode(' ',$keyword); // 紀錄搜尋關鍵字 // username,ketword,time $user = JFactory::getUser(); $username = 'guest'; if (!$user->guest)$username = $user->username ; $keyworddb = JFactory::getDbo(); $keywordquery = "insert into #__indexgo_history (`account`, `keyword`, `searchtype`) VALUES ('".$username."','".$keyword."', 'INDEXGO')"; $keyworddb->setQuery($keywordquery); $keyworddb->execute(); echo "
"; //echo "

Bill 增進效率中,資訊不一致請忽略!


"; $results = searchVendor($keyword); //echo "找到".$results['hits']['total']."筆記錄...
"; $nVendorNum = $results['hits']['total']; $db = JFactory::getDBO(); GOTO SKIPDB; //廠商 $vendorGroupid = CivilUser::getGroupid("廠商會員"); $sql = " SELECT DISTINCT usergroup.group_id AS `VIPGroup`,usergroup2.group_id AS `HighGroup`,vendor.* FROM civil_vendor_management_vendorinfo AS vendor LEFT JOIN civil_vendor_management_products AS product ON vendor.id=product.vendorid LEFT JOIN civil_user_usergroup_map AS usergroup ON vendor.juserid=usergroup1.user_id AND usergroup1.group_id = '$vendorGroupid' WHERE vendor.state = 1 AND (vendor.companyname LIKE '%". $keywordEX[0] ."%' OR vendor.unifiedbusno = '". $keywordEX[0] ."' OR vendor.business LIKE '%". $keywordEX[0] ."%' OR (product.state=1 AND product.productname LIKE '%". $keywordEX[0] ."%') "; for($i=1; $isetQuery($sql); $results = $db->loadObjectList(); $nVendorNum = count($results); SKIPDB: echo "

"; //課程 //課程分類 $sql = "SELECT * FROM `civil_guru_category` WHERE `published` = 1 AND (NAME LIKE '%".$keywordEX[0]."%' "; for($i=1; $isetQuery($sql); $results = $db->loadObjectList(); //課程 $sql = "SELECT DISTINCT id,catid,name,image FROM civil_guru_program WHERE published = 1 AND (name LIKE '%". $keywordEX[0] ."%' "; for($i=1; $isetQuery($sql); $results2 = $db->loadObjectList(); echo "
課程 點我看詳細 搜尋的課程數:".(count($results)+count($results2))."
"; //職缺 $sql = "SELECT * FROM `civil_js_job_jobs` WHERE title LIKE '%".$_GET["search"]."%'"; $db->setQuery($sql); $results = $db->loadObjectList(); echo "
職缺 點我看詳細 搜尋的職缺數:".count($results)."
"; echo "
"; echo "\n
找不到您要的資訊嗎?點我參考更多營建服務
\n"; } if($_GET["type"]=="course" AND $_GET["search"]) { $db = JFactory::getDBO(); $keyword = trim($_GET['search']); $keywordEX = explode(' ',$keyword); $sql = "SELECT * FROM `civil_guru_category` WHERE `published` = 1 AND (NAME LIKE '%".$keywordEX[0]."%' "; for($i=1; $isetQuery($sql); $results = $db->loadObjectList(); $sql = "SELECT DISTINCT id,catid,name,image FROM civil_guru_program WHERE published = 1 AND (name LIKE '%". $keywordEX[0] ."%' "; for($i=1; $isetQuery($sql); $results2 = $db->loadObjectList(); if(count($results)>0) { echo "課程分類"; echo '
'; foreach ($results as $row) : echo ""; echo "
"; echo "
"; if($row->image !="") echo ""; else echo ""; echo "
"; echo "

"; echo $row->name; echo "

"; echo "
"; echo "
"; endforeach; echo '
'; echo '
'; } if(count($results2)>0) { echo "課程"; echo '
'; foreach ($results2 as $row2) : echo ""; echo "
"; echo "
"; if($row2->image !="") echo ""; else echo ""; echo "
"; echo "

"; echo $row2->name; echo "

"; echo "
"; echo "
"; endforeach; echo '
'; echo '
'; } if(count($results)==0 AND count($results2)==0) { echo "

找不到符合搜尋字詞 \"". $_GET['search'] ."\" 的相關課程

"; } } if($_GET["type"]=="market" AND isset($_GET["search"])) { $keyword = '\'%'.$_GET["search"].'%\''; $db = JFactory::getDBO(); $sql = "SELECT DISTINCT vendorid,product.id,companyname,productname,productpicture FROM civil_vendor_management_products AS product, civil_vendor_management_vendorinfo AS vendor , civil_categories AS b ". "WHERE vendor.id = product.vendorid ". "AND extension ='com_vendor_management' ". "AND product.state=1 AND vendor.state=1 ". "AND productname LIKE $keyword "; //如果有類別就只搜尋類別內的 if (isset($_GET["class"]) AND $_GET["class"]!='') { $sql .= "AND `parent_id` = ".$_GET['class']." AND (`category01`=b.`id` OR `category02`=b.`id` OR `category03`=b.`id` OR `category04`=b.`id` OR `category05`=b.`id` OR `category06`=b.`id` OR `category07`=b.`id` OR `category08`=b.`id` OR `category09`=b.`id` OR `category10`=b.`id`) AND vendor.state=1 AND companyname!='' AND b.published=1"; } else if (isset($_GET["result"]) AND $_GET["result"]!='') { $sql .= "AND (category01 = ".$_GET['result']." OR category02 = ".$_GET['result']." OR category03 = ".$_GET['result']." OR category04 = ".$_GET['result']." OR category05 = ".$_GET['result']." OR category06 = ".$_GET['result']." OR category07 = ".$_GET['result']." OR category08 = ".$_GET['result']." OR category09 = ".$_GET['result']." OR category10 = ".$_GET['result'].")"; } //如果有city就搜尋city if(isset($_GET["city"]) AND $_GET["city"]!="") { $citykeyword = '\'%'.$_GET["city"].'%\''; $sql .= "AND vendor.companycity LIKE $citykeyword"; } $sql .= " ORDER BY vendorid"; $db->setQuery($sql); $results = $db->loadObjectList(); if(count($results)>=1) { foreach ($results as $row) : echo ""; echo "
"; echo "
"; echo ""; echo "
"; echo "

"; echo $row->companyname; echo "
"; echo $row->productname; echo "

"; echo "
"; echo "
"; endforeach; } else { echo "
"; echo "

找不到符合搜尋字詞「 ". $_GET['search'] ." 」的相關產品

"; echo "

"; echo "

精選產品:

"; $vendorGroupid = CivilUser::getGroupid("廠商會員"); $sql=" SELECT A.* FROM `civil_vendor_management_products` A LEFT JOIN `civil_user_usergroup_map` B ON A.`created_by`= B.`user_id` LEFT JOIN `civil_vendor_management_vendorinfo` C ON A.`vendorid`= C.`id` WHERE B.`group_id` = '$vendorGroupid' AND A.state=1 AND C.state=1 ORDER BY RAND() LIMIT 4"; $db->setQuery($sql); $results = $db->loadObjectList(); if(count($results)>=1) { foreach ($results as $row) : echo ""; echo "
"; echo "
"; echo ""; echo "
"; echo "

"; echo $row->companyname; echo "
"; echo $row->productname; echo "

"; echo "
"; echo "
"; endforeach; } echo "
"; } } /** * 搜尋廠商 via ElasticSearch */ function searchVendor($keyword,$limitCountStart=0, $onePage=30){ //CivilUtil::addLog("Start Search @".__METHOD__); $client = ClientBuilder::create()->build(); /*if (JFactory::getApplication()->get("sitename", $default)=="888營建互聯網"){ $ESURL = "10.140.0.4:9200"; }else{ $ESURL = "10.140.0.2:9200"; }*/ $ESURL = JFactory::getApplication()->get("elasticsearch_host", $default); //CivilUtil::addLog("ESURL=".$ESURL); $hosts = [ $ESURL ]; $client = ClientBuilder::create() // Instantiate a new ClientBuilder ->setHosts($hosts) // Set the hosts ->build(); // Build the client object $keywordEX = explode(' ',$keyword); //print_r($keywordEX); $params = Array(); $params['index'] = JFactory::getApplication()->get("elasticsearch_vendors", $default); $params['type'] = 'vendors'; $params['body']['from'] = $limitCountStart; $params['body']['size'] = $onePage; $params['body']['sort']['VIPGROUP']='desc'; $params['body']['sort']['HIGHGROUP']='desc'; $params['body']['sort']['id']='asc'; $params['body']['query']['bool']['must'] = Array(); $matchArray = Array(); $matchArray['match_phrase']['state'] = '1'; array_push($params['body']['query']['bool']['must'],$matchArray); // AND $matchORArray = Array(); $matchORArray['bool']['should'] = Array(); foreach ($keywordEX AS $key) { if($key!=='') { $matchArray = Array(); $matchArray['match_phrase']['companyname'] = $key; array_push($matchORArray['bool']['should'],$matchArray); // OR $matchArray = Array(); $matchArray['match_phrase']['business'] = $key; array_push($matchORArray['bool']['should'],$matchArray); // OR $matchArray = Array(); $matchArray['match_phrase']['unifiedbusno'] = $key; array_push($matchORArray['bool']['should'],$matchArray); // OR $matchArray = Array(); $matchArray['nested']['path'] = 'products'; $matchArray['nested']['query']['bool']['must']['match_phrase']['products.productname'] = $key; array_push($matchORArray['bool']['should'],$matchArray); } } array_push($params['body']['query']['bool']['must'],$matchORArray); //echo "
".print_r($params,true)."
"; //die(); $response = $client->search($params); //echo "
".print_r($response,true)."
"; //echo "找到".$response['hits']['total']."筆廠商資料"; //CivilUtil::addLog("Finish Search @".__METHOD__); return $response; }