看板 Web_Design 關於我們 聯絡資訊
※ 引述《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
camille168:我知道有PHP板,我的問題依然存在,不知道是那錯了 01/25 09:11
starjou:error message? 01/25 09:31
starjou:也許是 sql string 有錯,把 mysql_error 也秀出來看看 01/25 09:31
camille168:沒有錯啦!只是查詢時資料不會被找出來 01/25 10:32
maplenote:那可能就是找不到資料而已.. 01/25 11:25
maplenote:如果你有裝phpMyAdmin 在上面有SQL選項 01/25 11:25
maplenote:把印出的SQL string 貼上去執行看看 語法有錯它也會提示 01/25 11:26
starjou:沒有找到資料又沒有錯,那就是沒有資料囉 01/25 18:50