WHERE
節でフィルタリングしたデータを表示したい。私は条件値の代わりにいくつかの変数を適用しましたが、今は条件が適用されない場合にデータを取得する方法を説明します。私はそれを試みたが、それを試みた。値が与えられていれば動作していますが、値が与えられていなければ動作していません。空の場合はWHERE句の条件を無視する
どうすればよいですか?
3つのフィルタがあります。 の日付がの場合は、指定した日付でデータが表示されます。再びソースが選択されている場合は、指定された日付と指定されたソースによってデータが表示されます。これのように、うまくいくはずです。
$date_from = NULL; //the value will be given if the user selects the date range
$date_to = NULL;
$src_id = NULL; // this value will be given if the user wants data from specific source
$gndr_id = NULL; // if user want data by gender
$leadSql = "SELECT
lead.id as lead_id
, lead.name as lead_name
, lead.phone as lead_phone
, lead.email as lead_email
, gender.name as lead_gender
, treatment.name as treatment_name
, lead.date as lead_date
, source.name as source_name
, status.name as status_name
, lead.remark as lead_remark
FROM lead
join treatment on treatment.id = lead.treatment_id
join gender on gender.id = lead.gender_id
join source on source.id = lead.source_id
join status on status.id = lead.status_id
where (lead.date BETWEEN $date_from and $date_to) and
(lead.source_id = $src_id) and (lead.gender_id = $gndr_id)
ORDER BY lead_date DESC";
どうかしてください。
クエリ内に3項演算子を使用することもできますが、これは1つの方法です。 –