Вы фактически не включили условия даты в свой запрос, поэтому он по-прежнему возвращает все данные. Измените ваш запрос на
$sql = "select * from book where date_published between '" . min($date1, $date2) . "' and '" . max($date1, $date2) . "'";
Если вы знаете, что $date1
меньше $date2
, вы можете упростить это до
$sql = "select * from book where date_published between '$date1' and '$date2'";
Обратите внимание, что ваш код широко открыт для SQL-инъекций, вы должны действительно использовать подготовленные операторы. См. этот вопрос для получения дополнительной информации ...