我需要創建一小段代碼,以便根據用戶選擇的類別類型篩選我的事件數據庫。使用PHP和MySQL按多種類型排序事件。
我現在有工作了誰只有一個類別中選擇用戶...
$user_qstring = "SELECT types FROM tbl_users WHERE user_id='".$_SESSION['id']."'";
$user_result = mysql_query($user_qstring);
$user_row = mysql_fetch_array($user_result);
$type_filter = $user_row['types'];
if(isset($type_filter) && $type_filter !="") {
$day_events = "SELECT COUNT(*) FROM tbl_events WHERE day='".$day_id."' AND
type='".$type_filter."'";
}else{
$day_events = "SELECT COUNT(*) FROM tbl_events WHERE day='".$day_id."'";
}
我需要修改這個代碼,這樣,如果$ type_filter設置,幷包含多個類別的格式如下。
Festivals,Sports,Education
而且具有查詢自動添加...
OR type='".$type_filter[2]."' OR type='".$type_filter[3]."' OR ect...
我已經能夠使用多個解決問題...
elseif(){
}
語句,但需要一個解決方案可擴展到無限種類。
我知道自己需要改變$ type_filter使用爆炸列表開始...
$type_filter = explode(",", $user_row['types']);
但我仍然有問題把他們放在一起作短暫優雅的解決方案。
看起來您正在從查詢結果中獲取過濾器,因此在此處檢查注入可能不合適。但是,如果用戶可以在其他階段設置過濾器數據,則需要在輸入過濾器數據時進行清理。如果你讓他們從他們不能編輯的預定義列表中選擇,那麼它可能是安全的。提供你在製作過濾器列表時要小心。 – horatio