PHP 可有可無的WHERE,自動判斷WHERE語句



說明



在寫程式時候,有時候會有_可有可無的WHERE_被下載SQL語句中的時候



什麼是_可有可無的WHERE_?



好比方在搜尋的時候,我有輸入"搜索時間範圍",才會搜索時間;有輸入"搜索地區",才會搜索地區。



所以在程式裡面WHERE有沒有出現,是看使用者代入的參數的!



Code



這在這例子中,有設定姓名,才會搜尋姓名;有設定時間範圍,才會搜尋時間範圍,如果都沒有設定的話,就不會有WHERE語句出現。



// 不是重點的部份直接註解掉了:)  

// $db = new db();

$where = array();

...

..

.

// if (isset($data->name)) {

array_push($where, "tableName.name='{$data->}'");

// }



// if (isset($data->minSearchTime) AND isset($data->maxSearchTime)) {

array_push($where, "tableName.datetime BETWEEN '{$data->minSearchTime}' AND '{$data->maxSearchTime}'");

// }

$where_string = empty($where) ? '' : ' WHERE '.join(' AND ', $where);

$sql = "SELECT * FROM tableName {$where_string}";

//$rst = $db->Query($sql);

return $rst;








留言

這個網誌中的熱門文章

成人剪舌繫帶聽過嗎?我剪了!!

Scp - ssh 的遠端檔案傳輸指令

睡覺使你更有效率