2013-10-11 15 views
0

我目前正在從HTML選擇信息,看起來有點像這樣:對於WHERE操作,我選擇了哪個SQL參數?

     <select id = "select_something"> 
         <option value = "All">All</option> 
         <option value = "First">Option 1</option> 
         <option value = "Second">Option 2</option> 
         <option value = "Third">Option 3</option> 
         </select> 

在PHP我的SQL查詢看起來是這樣的:

$query = "SELECT * FROM `table` WHERE `column` = '$something'"; 

哪個參數我可以進入,而不是$東西以獲得所有可能的結果,以防「全部」被選中?

我不想在選擇「全部」的情況下創建不同的查詢,也不希望根本改變$查詢語句! 我只對WHERE操作提供所有結果的參數感興趣(或者基本上可以說它忽略了where)。

在此先感謝, 雅各布。

編輯:發現 解決方案:

if ($something== "All") $something = 1; 
else $something = "`column` = '$something'"; 
$query = "SELECT * FROM `table` WHERE $something; 

感謝大家誰葉回答。

+1

你爲什麼不想要更改基本查詢? – Andy

+0

沒有這樣的價值,你要麼全部用一個查詢,要麼用另一個查詢得到過濾結果 –

+0

我不想改變查詢,因爲我有更多的選擇要考慮,我不能創建任何可能的查詢。 –

回答

0
$query = "SELECT * FROM `table` WHERE `column` = '$something'" . (($something == "All") ? " OR 1 = 1" : ""); 
+0

究竟做了什麼? –

+0

這一個非常有幫助! –

+0

他/她說:'我只對WHERE操作提供所有結果的參數感興趣,這就是爲什麼我添加'OR 1 = 1'來顯示所有條目如果'$ something == 1'! –

0
$query = "SELECT * FROM `table` WHERE 1"; 

但我強烈建議閱讀SQL注入和PDO。

+0

您是否建議有人可以通過使用javascript控制檯來更改選擇的值,然後將其發送到服務器? 在這種情況下,你會建議什麼? –

+0

是的,確切地說。如果您只是插入從「