gpt4 book ai didi

php - 构建一个长查询并有很多 if 语句 - 有没有更优雅的方法?

转载 作者:可可西里 更新时间:2023-11-01 06:36:06 24 4
gpt4 key购买 nike

我必须根据特定条件构建查询。有没有比我在下面所做的更好的方法?它工作正常,但如果有更多条件,我可以看到它很快就会失控,因为我每次检查一个新条件时都会检查是否满足任何先前的条件。

    $sql = "SELECT DISTINCT fkRespondentID FROM tblRespondentDayTime";

if (!empty($day) || !empty($time) || !empty($sportID)) {

$sql .= " WHERE";

if (!empty($day)) {
$sql .= " fldDay='$day'";
}

if (!empty($time)) {
if (!empty($day)) {
$sql .= " AND";
}
$sql .= " fldTime='$time'";
}

if (!empty($sportID)) {
if (!empty($day) || !empty($time)) {
$sql .= " AND";
}
$sql .= " fkRespondentID IN (SELECT fkRespondentID FROM tblRespondentSport WHERE fkSportID='$sportID')";
}

}

最佳答案

我会使用旧的 "WHERE 1=1" 技巧;将此添加为第一个条件,然后您可以在后面的每个语句中假设“AND”条件。

关于php - 构建一个长查询并有很多 if 语句 - 有没有更优雅的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com