我想显示通过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";
请给我一些方法来做到这一点。
你可以在查询中使用三元运算符,这是一种方法。 –