我有一個爲RSS提要創建的PHP頁面。 這拉了一所學校的課程。URL中的多個WHERE語句
在URL中,我添加了locationid(按位置篩選)和course parent(按學校過濾)。
URL結構是目前的index.php?LOCID = 1 & TSID = 2(TS =培訓網站) 這個拉已經locationid = 1的所有課程和培訓現場ID = 2 運行完美。
的問題是,現在我們需要能夠拉從URL兩個位置SO LOCID = 1 OR = 2 我想加入另一個變量的(?LOCID = 1 & locid2 = 2),但是我限制到這個查詢中的兩個位置。即使如果我有足夠的智慧來使用圓括號,如果有兩個WHERE(locationid = 1 OR locationid = 2)
有沒有一種智能的方法來做到這一點?
這是代碼。
$where = array();
if (isset($_GET['tsid'])) {
$trainingsite = $_GET['tsid'];
$where[] = 'scheduledcourses.courseparent = '. $trainingsite ."";
}
if (isset($_GET['locid'])) {
$locationid = $_GET['locid'];
$where[] = 'scheduledcourses.courselocationid = '. $locationid ."";
}
if(count($where) >= 0) { array_unshift($where,""); }
$where = implode(" AND ", $where);
$where;
這裏是在查詢
WHERE coursedate >= CURRENT_DATE() AND privatecourse='no' AND $where";
預先感謝您的WHERE語句!
,如果我正確地理解你的問題,你想在配置參數是數字NUM的基地動態創建MySQL查詢。我對麼? – 2014-10-02 13:30:27
房間裏有一隻看不見的大象:SQL注入!大聲哭泣,爲什麼大家都想立即破解OP的網站?至少有一點SQL注入就足夠了,例如通過檢查所有id是否真的是數字。 – nalply 2014-10-02 13:41:30