Tengo que crear una consulta basada en ciertas condiciones. ¿Hay una forma mejor de hacerlo que la que he hecho a continuación? Funciona bien, pero puedo ver que se va de las manos con bastante rapidez si hay más condiciones desde que compruebo si se han cumplido las condiciones previas cada vez que reviso una nueva.Creando una consulta larga y muchas declaraciones if: ¿hay una manera más elegante?
$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')";
}
}
Es una buena pregunta :) – dmp