|
|
|
| Помогите, пожалуйста, решить такую задачу:
ДАНО:
1. Есть две базы данных: Первая имеет столбец `InsTimeStamp` типа "TimeStamp" (например, 2010-03-16 08:28:33), Вторая имеет столбец `date`типа "int" (хранит в себе метку времени, которая состоит только из дня, месяца и года).
2. Есть форма с двумя текстовыми полями (выбор диапазона дат "С", "по"). Для выбора начальной и конечной даты используются календарики (дейтпикеры), которые выводят строку 08/04/2010.
3. Ну и само собой есть кнопка "Отправить", которая отправляет данные с полей.
ВОПРОС:
Как задать запрос на поиск строк, удовлетворяющих заданному диапазону дат в первой бд и перенести их во вторую бд, учитывая конвертирование дат. | |
|
|
|
|
|
|
|
для: Zhora_88
(27.04.2010 в 18:28)
| | >...Вторая имеет столбец `date`типа "int" (хранит в себе метку времени, которая состоит только из дня, месяца и года).
это как? | |
|
|
|
|
|
|
|
для: Trianon
(27.04.2010 в 21:34)
| | ну как?, обычно... тип поля "инт" - Обычный целый тип. а метка времени - это отсчет в секундах с начала эпохи юникс, то, что возвращает функция "мктайм". | |
|
|
|
|
|
|
|
для: Zhora_88
(27.04.2010 в 22:24)
| | смутило "которая состоит только из дня, месяца и года"
Unix timextamp - линейная непрерывная метка, и на компоненты не распадается. | |
|
|
|
|
|
|
|
для: Zhora_88
(27.04.2010 в 22:24)
| | mktime возвращает время в формате UNIX
А знаете, что это? Это количество секунд. Так как это значение может отражать только день, месяц и год? | |
|
|
|
|
|
|
|
для: neadekvat
(27.04.2010 в 22:27)
| | я извиняюсь за формулировку вопроса и некоторых определений, но я думаю здесь люди умные и смогут докумекать что я имел ввиду. извиняюсь. а по поводу ...Это количество секунд. Так как это значение может отражать только день, месяц и год?... то почему нельзя отобразить именно значение какого-нибудь числа, месяца и года в секундах, а время (часы, минуты, секунды) обнулить?... вобщем ниже написано, то что я имел ввиду. | |
|
|
|
|
|
|
|
для: Zhora_88
(27.04.2010 в 18:28)
| | >ВОПРОС:
>Как задать запрос на поиск строк, удовлетворяющих заданному диапазону дат в первой бд и перенести их во вторую бд, учитывая конвертирование дат.
Мне кажется вопрос не правильно сформулирован.
Возможно этот код вам поможет
$date_begin = $_POST['date_begin'];
$date_end = $_POST['date_end'];
$date_begin = implode('/', $date_begin);
$date_end = implode('/', $date_end);
// для дат в формате datetime
$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . '00:00:00';
$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . '00:00:00';
//для дат в формате целого числа
$m_date_begin = mktime( 0,0,0,$date_begin[0],$date_begin[1],$date_begin[2]);
$m_date_end = mktime( 0,0,0,$date_end[0],$date_end[1],$date_end[2]);
|
| |
|
|
|
|
|
|
|
для: eli
(27.04.2010 в 23:25)
| | Вот тут ошибка:
>$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . '00:00:00';
и тут тоже:
>$m_date_begin = mktime( 0,0,0,$date_begin[0],$date_begin[1],$date_begin[2]); | |
|
|
|
|
|
|
|
для: eli
(27.04.2010 в 23:25)
| | Тут понятно пробельчик забыл
$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . ' 00:00:00';
$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . ' 00:00:00';
|
а вот что во втором случае неправильно? | |
|
|
|
|
|
|
|
для: eli
(27.04.2010 в 23:37)
| | 1.Какой смысл в двух одинаковых операторах присваивания?
2. порядок аргументов функции | |
|
|
|
|
|
|
|
для: Trianon
(27.04.2010 в 23:38)
| | 1. а ну да, очепятка, но тут по логике понятно что должен быть end
2. согласен, но по моему логично все же было бы в том порядке, что я написал | |
|
|
|
|
|
|
|
для: eli
(27.04.2010 в 23:46)
| | От я ЛОПУХ.... блин, просто нехватило фантазии))) .....только я поменял
$t_date_begin = $date_begin[2] . '-' . $date_begin[1] . '-' . $date_begin[0] . ' 00:00:00';
$t_date_end = $date_end[2] . '-' . $date_end[1] . '-' . $date_end[0] . ' 23:59:59';
чтобы искало все в течении суток, если выбрать одинаковые даты начала и конца. хотя можна и так, как было.))
Спасибо большое всем! | |
|
|
|