Daha zarif bir yolu var - uzun bir sorgu oluşturma ve ifadeler eğer bir şey var?

0 Cevap php

Ben belirli koşullara dayalı bir sorgu oluşturmak zorunda. Aşağıda yapmış şekilde daha bunu yapmanın daha iyi bir yolu var mı? Bu çalışıyor ama herhangi bir önceki koşullar yeni bir tane kontrol her zaman yerine getirilmiş olsaydı ben kontrol beri ben daha koşullar olsaydı bu oldukça hızlı çığırından çıkıyor görebilirsiniz.

    $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')";
        }

    }

0 Cevap