1 回答
TA贡献1797条经验 获得超4个赞
我会制作一个转换数组,将输入值转换为数据库中的值。遍历此数组并构建查询。
像这样的东西:
// FormValue => DbValue
$conversions = ['w' => 'P', 'o' => 'O', 's' => 'N', 'c' => 'C'];
$ors = [];
foreach($conversions as $input => $value) {
// Check if $input is in $_GET and if its value is 'on'
if (isset($_GET[$input]) && $_GET[$input] == 'on') {
// Push in $ors
$ors[] = "cif_schedules.CIF_stp_indicator = '{$value}'";
}
}
因此,您将获得OR数组$ors中的所有内容,您只需内爆并$select在需要时将其添加到:
$select = "SELECT * FROM cif_schedules WHERE tiploc_code = '$t'";
// Check if there are some OR
if (!empty($ors)) {
// Add the ORs to the query
$select.= ' AND ('.implode(' OR ', $ors).')';
}
$select .= " AND deleted >= '$maxdate' AND created <= '$maxdate'";
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报