作者roga (任性)
看板PHP
標題Re: [請益] CI-CodeIgniter 搜尋字串傳遞
時間Wed Sep 21 12:09:45 2011
※ 引述《mesak (阿米)》之銘言:
: 先前有做過一次 CI 的字串傳遞搜尋
: 是參考這篇文章
: http://www.codeigniter.org.tw/forum/viewtopic.php?f=7&t=2720
: 想請問一下
: 有沒有更好的方式 可以直接用 URL 導向的?
裡面 Appleboy 分享的那篇方式還滿不錯的,不會有太多的 segment 出來
擴充起來彈性也比較好。
: 如果說純粹給內部使用
: 把搜尋的字串存在資料庫利用ID 接字串 這樣會不會看起來比較乾淨?
: 例如
: site.com/index.php/search/db_1/1
: 搜尋 資料庫ID 分頁面
: 還是說只能用字串一個一個傳遞?
: 我有聽說 pchome 的 這個網站 http://www.rakuya.com.tw/
: 也是ci做的,他的搜尋是用亂數字串去跑的,是不是用了某種加解密程式
以 rakuya 來說,看起來一樣是把參數送到後端去做查詢,只是他們把參數編碼
http://www.rakuya.com.tw
/search/sell/eNozNMANEg0IA0Nc4gD7hxDl/6auY6YCf5YWs6Lev/0/0/0
第一段 第二段
第一段是某種編碼或加密表示方式,其意義是代表「台北市不分區」
如果換成查詢"台北市中正區"或是"台北市中山區"就會像下面這樣:
台北市中正區 eNozNHQ2wAUSDQgDQ1ziAAJjEPk.
台北市中山區 eNozNHQ3wAUSDQgDQ1ziAAO_EP0.
對應到查詢欄位就是「縣市區域」,這應該是某種編碼方式,你可以嘗試解解看。
第二段直接做 base 64 decode 你可以得到「高速公路」三個字,
對應查詢欄位就是「關鍵字」
: 或是像我說的 直接存在資料庫呢?
→ mesak:一個欄位存ID 一個存 搜尋的條件,搜尋條件相同就直接LOAD I 09/21 11:41
→ mesak: ID,下一頁開始就接上資料庫ID 內的搜尋條件 09/21 11:42
→ mesak:我比較有興趣是樂屋網那種模式.... 09/21 11:42
是一個 id 對應一種搜尋條件還是一個 id 對應所有搜尋條件?
- 如果是對應一種搜尋條件,實在是多此一舉 (利弊可以自己分析)
- 如果是一個 id 對應所有搜尋條件,那光是要處理這個 id <-> 條件
就不用處理別的事情了。
而且 user 在搜尋時會怎麼下條件是我們無法預知的,除非你用窮舉法..
呃...該不會你正打算這麼做吧 ?
--
The Internet: where men are men, women are men, and children are FBI agents.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.89.121.16
→ superpai:那不是窮舉法,而是把user用過的搜尋條件儲存起來 09/21 12:27
→ superpai:好處是讓user分享搜尋結果時網址比較短,好看 09/21 12:27
※ 編輯: roga 來自: 202.89.121.16 (09/21 14:37)
→ roga:謝謝樓上的補充... 09/21 14:37