Re: [請益] 多條件查詢
※ 引述《camille168 (凱凱)》之銘言:
: : if (isset($_GET['$field'])) {
: : $colname_RecID = (get_magic_quotes_gpc()) ? $_GET['$field'] : addslashes($_GET['$field']);
: : }
: : 打開檔案一看就看到你的錯誤了...
: : $_GET['field'] ○
: : $_GET['$field'] ╳
: : $query_RecID = sprintf
: : ("SELECT * FROM `01_id`
: : WHERE '%s' like '%s' ORDER BY i_date DESC", $field,$colname_RecID);
: : 另外....
: : 一般用SQL用 like指令
: : 我習慣是 tablefield放前,查的字放後
: : 比如
: : $name='羽山';
: : $sql="select id from data where name like '%".$name."%' ";
: : 也就是說.. name like '%羽山%'
: : 即可以查 名字中 有 羽山 二字的所有人名
: : 比如 肥羽山秋人 或 胖羽山
: : 當然你用sprintf也不是不行,只是你的%s會被你鍵入的field取代
: : 變成應有的%就消失了
: : 所以你應該要...
: : $query_RecID = sprintf
: : ("SELECT * FROM `01_id`
: : WHERE '%s' like '%%s%' ORDER BY i_date DESC", $field,$colname_RecID);
: : ^ ^
: : 大概就是如此...
: 我改了
: $query_RecID = sprintf
: ("SELECT * FROM `01_id`
: WHERE '%s' like '%s' ORDER BY i_date DESC", $field,$colname_RecID);
: 這樣
: 然後打了
: 你說的印出query_recid
: 查詢工號(id)
: 他印出select * from '01_id' where 'id' like 'id' order by i_date DESC
: 查型號(model)的話
: 他會印出select * from '01_id' where 'model' like 'model' order by i_date DESC
所以我才說你文章根本沒念清楚
你即然要作 like 的查詢比對
你根本沒下模糊區域當然找不到東西啊~"~
select * from '01_id' where 'model' like 'model' order by i_date DESC (╳)
select * from '01_id' where 'model' like '%model%' order by i_date DESC (○)
只是你查東西的構想還真怪...
通常會用like,我以為只有查文章某一段內容才會用的到呢..
在下習慣like的用法如下
$sql="select id,title,date,time from library where
concat(title,content) like '%".$keywords."%' order by id desc";
用concat組合某些欄段拿來作 like 滿實用的, 可作簡單的全文查詢機
你把field用id來代替,又沒下模糊區(%,?)不如用 = 就好了,速度還比較快些..
like 可以在你關鍵字前後 加上 % 或 ? , 就看你需求怎定了
--
3WA訓練家的工作室
宗旨:人生就是要爽
個人佈弱格 網址:http://3wa.myvnc.com
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.117.82
※ 編輯: shadowjohn 來自: 123.240.117.82 (01/25 12:35)
推
01/25 13:41, , 1F
01/25 13:41, 1F
→
01/25 13:42, , 2F
01/25 13:42, 2F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章