2017-01-15 9 views
-1

У меня есть таблица Mysql, называемая clients, где одна зарегистрированная под номером conn_date содержит дату регистрации клиентов.Как получить данные из базы данных mysql на основе даты?

Теперь я хочу получить данные из этой таблицы, где conn_date больше, чем дата регистрации и меньше текущей даты.

См., Например, Если пользователь зарегистрирован на 2016-06-01, то все данные должны вернуться, где coon_date больше, чем 2016-06-01 и меньше Current Date

значение столбца conn_date

2016-06-01 
2016-08-30 
2016-08-30 
2016-07-01 
2016-08-03 
2016-09-18 

Mysql Query

$get_client = "SELECT SUM(cbp.pay_amount) AS total_pay_amount, SUM(cbp.discount_amount) AS total_discount_amount, SUM(cbp.advance_amount) AS total_advance_amount, SUM(cbp.due_amount) AS total_due_amount, cbp.advance_amount, cbp.bill_month, YEAR(cbp.bill_month) AS myBillYear, MONTH(cbp.bill_month) AS myBillMonth, cbp.cbp_id, cbp.due_amount, cbp.pay_amount, c.conn_date, c.status, c.client_id, c.monthly_bill, c.user_id, c.address, c.contact_no, zone.zone_name, package.package_name, c.bill_date FROM clients AS c 
LEFT JOIN zone ON zone.zone_id = c.zone_id 
LEFT JOIN package ON package.package_id = c.package_id 
LEFT JOIN clients_pay_bill AS cbp ON cbp.client_id = c.client_id 
WHERE c.uid = '$uid' AND c.conn_date <= CURDATE() "; 

if($selected_zone != "all") { 
    $get_client .= " AND c.zone_id != '' "; 
} elseif($selected_zone == "all") { 
    $get_client .= " AND c.zone_id != '' "; 
} else { 
    $get_client .= " AND c.zone_id = '$selected_zone' "; 
} 

$get_client .= " GROUP BY c.client_id ORDER BY c.client_id DESC "; 

Теперь он показывает только текущий месяц da ta не больше, чем дата регистрации!

+1

В вашем запросе не указана дата регистрации. – shmosel

+0

дата регистрации - столбец 'conn_date' –

+0

* Теперь я хочу получить данные из этой таблицы, где' conn_date' больше, чем дата регистрации *. Как может 'conn_date' быть больше, чем он сам? – shmosel

ответ

0

попробуйте использовать ниже запроса:

будет возвращать записи данных между 2016-06-01 и current date.

select * from clients where conn_date < CURDATE() and conn_date > '2016-06-01' 
+0

'2016-06-01' эта дата уже указана в db. Я просто использовал здесь цель тестирования. Итак, как можно получить дату с зарегистрированной даты и меньше текущей даты? –

+0

Вы упомянули в вопросе о том, что вам нужны данные между датами, и указанный выше запрос сделает то же самое, если что-то еще объяснит. –

+0

В основном у меня есть 2 html drop down field, где каждый год, а один - дата. Теперь я могу выбрать любой год и дату из этого раскрывающегося меню html, и я хочу, чтобы данные возвращались туда, где дата больше значения 'conn_date' и меньше текущей даты. –

Смежные вопросы