Re: [問題] 多條件查詢(PHP+MYSQL)
※ 引述《camille168 (凱凱)》之銘言:
: 我想要做一個查詢是選擇欄位然後輸入查詢值來查詢
: 也就是說,我在網頁上做了一個下拉式選單來選欄位
: (標籤=中文欄位名,值=mysql欄位名稱)
: 後面再做一個text來輸入值
: 選到那個欄位時輸入值就可以依那欄位來查我所輸入的值
: 我想要做的就是這種
: 現在有個問題就是
: 我在寫sql時where那裡應該怎麼寫會比較好?
: 我現在是把欄位名稱用變數來替代
: where '$field' like 'colname'
: 變數~colname 預設值:% 執行值:$_GET['field']
: 不過這樣沒辦法查詢說
: 按查詢的話就查不到任何資料
: 請問有那位大大可以替我解惑呢?
如果資料內容不是完全跟 $_GET['field'] 的值一樣,那就找不到資料,
要改成 'WHERE `'.$_GET['field_name'].'` LIKE "%'.$_GET['field'].'%" '
(假設你的下拉選單傳回欄位名稱為 $_GET['field_name']
另外 $_GET['field'] 其實應該是 field_value 吧?)
另外其實如果沒有傳回 $_GET['field'] 的話, where field_name LIKE '%'
其實是多餘的
可以先用 empty 判斷
$where_str = '';
if(!empty($_GET['field'])){
$where_str = 'WERE ....... ';
}
$query_str = 'SELECT * FROM table_name '.$where_str.' .....(ORDER, LIMIT ...)'
~~
有 php 板說...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.128.118
推
01/25 09:11, , 1F
01/25 09:11, 1F
→
01/25 09:31, , 2F
01/25 09:31, 2F
→
01/25 09:31, , 3F
01/25 09:31, 3F
→
01/25 10:32, , 4F
01/25 10:32, 4F
推
01/25 11:25, , 5F
01/25 11:25, 5F
→
01/25 11:25, , 6F
01/25 11:25, 6F
→
01/25 11:26, , 7F
01/25 11:26, 7F
→
01/25 18:50, , 8F
01/25 18:50, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):