Пробовал написать сам свой алгоритм фильтрации:
$base_date = explode ('.', $res1['data']);
$res[1] = ((int)$base_date[2] >= $m_from_date[2]) and ($base_date[2] <= $m_to_date[2]);
$res[2] = ((int)$base_date[1] >= $m_from_date[1]) and ($base_date[1] <= $m_to_date[1]);
$res[3] = ((int)$base_date[0] >= $m_from_date[0]) and ($base_date[0] <= $m_to_date[0]);
if ($res1['point'] != 0 and (((int)$res[1] and (int)$res[2]) or (int)$res[3]))
{
И совет из форума:
$query = mysql_query ("SELECT *, DATE_FORMAT(`data`, '%d.%m.%y ') as `formatdata` FROM points
WHERE data BETWEEN '" . $from_date ."' AND '" . $to_date . "' ORDER BY data AND `student_id` = '" . $st_id . "'
AND `item_id` = '" . $result['id'] . "' LIMIT 0,1000") or die (mysql_error());
Но не выводит ничего вообще. Хотя дата входит в диапазон.
Спустя 33 минуты, 3 секунды (12.05.2012 - 23:54) koala написал(а):
Разобрался. Проблема была в том, что я в базе держал формат даты 10.10.10 а надо было 2010-10-10. Осталось только разобраться как изменить формат.
Спустя 51 минута, 43 секунды (13.05.2012 - 00:46) sergeiss написал(а):
Цитата (koala @ 12.05.2012 - 23:54) |
Проблема была в том, что я в базе держал формат даты 10.10.10 а надо было 2010-10-10 |
Если у тебя поле типа date, то там свой внутренний формат, а не тот, что ты написал.
Спустя 12 минут, 25 секунд (13.05.2012 - 00:58) koala написал(а):
sergeiss, я просто написал функцию конвертации даты для себя, что бы вводить по нашему формату а сравнивать с внутренним.
function convert_date ($date)
{
$ex_date = explode ('.', $date);
$new_date = array (1 => $ex_date[2], 2 => $ex_date[1], 3 => $ex_date[0]);
$finish_date = implode('-',$new_date);
return $finish_date;
}
_____________
Vi Veri Veniversum Vivus Vici