Muszę zbudować zapytanie na podstawie określonych warunków. Czy jest lepszy sposób na zrobienie tego niż sposób, który zrobiłem poniżej? Działa to dobrze, ale widzę, że wymyka się spod kontroli dość szybko, jeśli jest więcej warunków, ponieważ sprawdzam, czy za każdym razem, gdy sprawdzałem nowe, spełniłem wszystkie poprzednie warunki.Budowanie długiej kwerendy i wiele instrukcji if - czy istnieje bardziej elegancki sposób?
$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')";
}
}
To dobre pytanie :) – dmp