經營好口碑!連鎖店招牌、精緻招牌
LED廣告工程、專業設計全省服務!
油漆功細料實在堅持最平價 ,工程大小不拘免費專人
到府估價 無毒,無味,最省錢
首頁
‧
tw 論壇
‧
程式設計討論
‧
看其它討論區
寵物館
大頭貼館
街舞館
J2H街舞團隊
街舞活動訊息
街頭極限
寫真館
搞笑館
音樂館
遊戲館
遊戲技術館
恐怖驚奇館
感人溫馨館
動漫館
模特兒討論
交友討論
明星八卦
車館
兩性討論
政治討論
散文天地
生活資訊
房仲交流
房地產投資客
房價行情討論
法拍屋討論
房屋租售討論
代書諮詢
貸款資訊
保險資訊
搬家資訊
裝潢資訊
清潔資訊
廣告招牌
冷氣空調館
鐵鋁門窗館
油漆粉刷館
防水抓漏館
拆除工程館
窗簾壁紙館
環保工程
地坪工程
系統家具討論館
修繕館
安養看護館
網域名稱討論
程式設計討論
網路行銷討論
電腦硬體
軟體討論
J2H製圖館
手機資訊
徵信討論
服飾精品
媽媽育兒經
減肥瘦身
美容保健
醫療討論
旅遊交流
美食報報館
風水命理
3C產品討論
新手討論
申訴專區
[問題]搜尋功能怎麼寫?
房東:
初學者
發表時間:
2007-07-14
[
檢舉
]
一般我是這樣寫我的搜尋功\能
$query = \"select distinct * from $table where $search_type like \'%$keyword%\' ORDER by id DESC LIMIT
可是如果要像雅虎那樣搜尋字中間有空格 搜尋 \"網站 架設\"
要像這樣的型態要怎麼寫??
因為我的寫法如果有空格就沒辦法搜尋??
贊助網站
廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!
廣利不動產-新板特區指名度最高、值得您信賴的好房仲
您的托付,廣利用心為您服務
1 樓住戶:
老貓
發表時間:
2007-07-14
[
檢舉
]
$search = explode(' ','123 456');
$search_type = 'field';
$table = 'test';
$condition = '';
foreach($search as $v){
$condition .= "OR $search_type LIKE '$v'";
}
$query = "select distinct * from $table where 1 $condition ORDER by id";
echo $query;
範例在這兒!先利用explode將字串切割為陣列,再利用foreach去做迴圈!產生LIKE的語法就可以了
2 樓住戶:
初學者
發表時間:
2007-07-15
[
檢舉
]
我有個table其中一個欄位存放群組id:
select field1 from table1 limit 2 :
'a001,a002,a003,a010,a015,a030'
'a003,a006,a007,a010,a020,a030'
如果有個人屬於二個群組, 要select 出資料, 變成要用 or
select * from table1 where field1 like '%a001%' or field1 like '%a003%'
3 樓住戶:
達人
發表時間:
2007-10-10
[
檢舉
]
你可以寫個函式做token
像是你搜尋到的字串S="網站 架設"
你可以根據空白取出資料「網站」、「架設」等字眼,變成
arr[0] = "網站"
arr[1] = "架設"
...
arr[n] = XXX
最下後query的時候,就變成
where $search_type like '%$arr[0]%' and '%$arr[1]%' and ... and '%$arr[n]%'
或是
where $search_type like '%$arr[0]%' or '%$arr[1]%' or ... or '%$arr[n]%'
4 樓住戶:
貢丸
發表時間:
2007-10-10
[
檢舉
]
$input="網站 架設";
$search=explode (" ", $input);
$keyword="select distinct * from $table where $search_type like ";
foreach($search as $k=>$v){
$keyword.="'%$v%' or ";
}
$keyword=substr($keyword,0,strlen($keyword)-3);
$keyword.="ORDER by id DESC";
echo $keyword;
5 樓住戶:
阿寶
發表時間:
2007-10-10
[
檢舉
]
這裡只提供給您概念,實作的部份您自己再想想看:
如果要按照您的想法來作的話,LIKE大概是不夠用了。
因此在這裡要用到REGEXP。
範例語法:
SELECT ....... WHERE ...... REGEXP '[正規式]';
所以您可以把搜尋的字串處理成一個正規式,
再丟進SQL指令處理,
至於該怎麼處理呢,我想這就是您該做的。
6 樓住戶:
舞棍
發表時間:
2007-12-21
[
檢舉
]
$input="網站 架設";
$search=explode (' ',$input);
$keyword="SELECT DISTINCT * FROM `$table` WHERE "; # $search_type 應該是欄位名稱沒錯吧?
for($i=0;$i
{
$WHERE[]="`$search_type` LIKE '%$search[$i]%'";
#說明: %指的是一以上的字元;要指定符合字元數量可以用?,例?abc?,表示1abc1可以符合搜尋條件,11abc1就不符合條件囉‧
}
$keyword.=implode(' OR ',$WHERE); #將WHERE條件用 OR 結合起來,接在$keyword尾端
$keyword.=" ORDER by `id` DESC"; #將排序條件接在$keyword尾端
echo $keyword;
7 樓住戶:
小傑
留言板
傳訊
發表時間:
2008-03-02
[
檢舉
]
$search = explode(' ','123 456');
$search_type = 'field';
$table = 'test';
$condition = '';
foreach($search as $v){
$condition .= "OR $search_type LIKE '$v'";
}
$query = "select distinct * from $table where 1 $condition ORDER by id";
echo $query;
這樣@@?
共 7 人回應 選擇頁數
【第1 頁】
姓名:
佈告內容: