За последние 24 часа нас посетили 36245 программистов и 1718 роботов. Сейчас ищут 722 программиста ...

надо получить записи пол года назад

Тема в разделе "MySQL", создана пользователем jei, 18 фев 2013.

  1. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Имеется колонка в базе DATETIME там формат 2012-08-18 14:12:10

    Вощем мой запрос не хочет сравнивать мне надо получить записи пол года назад
    Код (Text):
    1.  
    2. $query4 = "select * from cis_lecheniya WHERE id_pacienta = '$vyborka[id]' AND date_time < '2012-08-18 14:11:06'";
    говорит что не хочет преобразовывать дату к строке это блин понятно.Тогда как сравнить именно дату в запросе а дату в виде данных даты могу получить так
    Код (Text):
    1. $d=date('Y-m-d H:i:s');
    2. $date = new DateTime($d);
    3. $date = $date->modify("-6 months");
    4. echo $date->format('Y-m-d H:i:s');
    Если кому надо немного данных с базы
    Код (Text):
    1. CREATE TABLE IF NOT EXISTS `cis_lecheniya` (
    2.   `id_lecheniya` int(15) NOT NULL AUTO_INCREMENT,
    3.   `name_lecheniya` varchar(50) NOT NULL,
    4.   `opisanie` varchar(300) NOT NULL,
    5.   `date_time` datetime NOT NULL,
    6.   `name_lechivshii_vrach` varchar(70) NOT NULL,
    7.   `id_pacienta` int(15) NOT NULL,
    8.   PRIMARY KEY (`id_lecheniya`)
    9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;
    10.  
    11. --
    12. -- Дамп данных таблицы `cis_lecheniya`
    13. --
    14.  
    15. INSERT INTO `cis_lecheniya` (`id_lecheniya`, `name_lecheniya`, `opisanie`, `date_time`, `name_lechivshii_vrach`, `id_pacienta`) VALUES
    16. (1, 'Удаление зуба', 'sdfsdf sdf sd sdf sdf', '2013-01-16 10:29:19', 'Иванов В.В.', 27),
    17. (8, 'название лечения1', '', '0000-00-00 00:00:00', 'Лечивший врач', 27),
    18. (9, 'название лечения111', '', '2013-02-18 00:00:00', 'Лечивший врач', 22),
    19. (10, 'название лечения2222', '', '2013-02-18 00:00:00', 'Лечивший врач', 22),
    20. (11, 'название лечения3333', '', '2012-05-09 00:00:00', 'Лечивший врач', 22);
    Спасибо
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мдяяяяя.........
    1. получаем текущую дату
    2. инициируем объект работы с датой
    3. получаем дату -6 месяцев
    4. делаем запрос к базе
    и все равно не работает... жуть...

    0. не получаем сегодняшнюю дату и не инициируем объект работы с датой и не получаем дату -6 месяцев (если оно нам нигде более не нужно)
    1. в запросе тупо делаем DATE_SUB(NOW(), INTERVAL 6 MONTH) и пусть мускул сам все считает

    вы мануалы-то читаете?
     
  3. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Можно без комментариев поучительных просто текст запроса.

    Мы то всё читаем а вы юноша видимо не знакомы с тем что использование функций не желательно при оптимизаций запроса он не будет кешироваться
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    там же поле datetime. в чем тут может быть вопрос?
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ха. кто-то недавно пытался продать целую систему, а простой запрос сварганить не может. ну напишу текст запроса. тогда наверное мне авторские отчисления положены с каждой реализованной копии продукта содержащего мой запрос.

    бенчмарк в студию, чо
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    SELECT *
    FROM cis_lecheniya
    WHERE id_pacienta = '$vyborka[id]'
    AND date_time < STR_TO_DATE('2012-08-18 14:11:06', '%Y-%m-%d %H:%i:%s')
     
  7. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    runcore спасибо за ответ всё же не нравится ему чем то запрос вот что кричит
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in L:\home\klinika\www\obzor\index.php

    Код (Text):
    1. $query4 = "SELECT *
    2. FROM cis_lecheniya
    3. WHERE id_pacienta = '$vyborka[id]'
    4. AND date_time < STR_TO_DATE('2012-08-18 14:11:06', '%Y-%m-%d %H:%i:%s')'";
    5. $result4 = mysql_query($query4, $link4);
    6. mysql_close($link4);
    7. while ($row4 = mysql_fetch_assoc($result4)) {
    8.        $d1[$id][] = $row4["name_lecheniya"];
    9.     }  
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Поставь
    WHERE id_pacienta = ".$vyborka['id']."
    Должен работать...

    Надеюсь за помощь мне то же будут авторские отчисления :)
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ебать джей у тебя опыта в программировании меньше чем у моей жены, а она фамацевт.
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Да ты, что он же "мастер дела". =)
    Попова насмотрелся =)

    Я тебе бы даже нобелевскую премию не дал бы =)))
    Ты глаза открой или протри я хз и посмотри, что ты написал...
    Выше цикла...
     
  11. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    igordata я вот тебе не понимаю ты мастер унизить человека.А сам то ты что можешь?Сколько раз видел что ты отписываешься не нужными ссылками ни регулярок ты толком не знаешь, ни сложных запросов, ни функций кроме своей евал.Но потрещать языком ты мастер.
    Если для тебя это такой простой запрос как семечки .Ну напиши его 2 минуты от тебя не убудет.

    Добавлено спустя 11 минут 8 секунд:
    smitt поставил не пашет здесь не в этом дело совсем можно за место $vyborka['id'] поставить 27 к примеру тоже самое будет ему функция именно не нравиться чем то)

    А по поводу отчислений я просто поражён я эту программу 3 месяца пишу.Потратил на неё 500 часов.А тебе то за что отчислять за 5 минут .Да ты крутой программист.Твоё время дорого стоит))
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    обойдёшься :D

    Добавлено спустя 20 секунд:
    гыгыгы
     
  13. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    по моему разрешилось текст запроса
    кому будет интересно
    Код (Text):
    1. SELECT *
    2. FROM cis_lecheniya
    3. WHERE id_pacienta = '$vyborka[id]'
    4. AND date_time < DATE_SUB(NOW(), INTERVAL 6 MONTH)
    спасибо Ganzal
     
  14. demyan1

    demyan1 Активный пользователь

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    500ч*10$=5 000$ она должна стоить согласно твоих расценок!!! а не 200$.
    p.s. и ещё сколько потраченного времени впереди...
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    спасибо, но я просто констатировал факт.
    то что ты пользуешься конструкциями типа
    говорит о том, что у тебя каша в голове - раз, два - несколько запросов в разных переменных зачем-то живут, при этом у тебя не хватает фантазии, чтобы назвать переменную более осмысленно, т.к. смысла ты видимо не усматриваешь и с планированием у тебя туго. То что ты каждый раз после запроса разбираешь его в цикле, говорит о том, что тебе за "столько лет практики" не пришло в голову вынести эту рутинную и постоянно повторяющуюся операцию в отдельный метод.


    это просто потому что у тебя не хватает мозгов понять, что там есть кране важная и нужная инфа и ответ на вопрос =) что меня совсем не удивляет

    простой, но тебе я никогда ничего делать не буду =)
     
  16. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    demyan1 а ты не учитываешь что она продастся 10 раз,это уже сколько у нас 2000 + то что с первых клиентов + 1000 .И если дай бог она наберёт обороты 100 продаж .Умножай сколько будет)
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а в китае её можно продать 14 миллионов раз! это почти полтора миллиарда баксов! учи китайский и вперёд покорять рынок!
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Что же там за программа такая дырявая на прочь...
    3 месяца писать программу не понятно какую и зачем, я за месяц игру написал браузерную на деньги...

    А ты говоришь 3 месяца какую-то <матное слово> делаешь!
    Что же там за чудо такое?)
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    он же показывал =)
     
  20. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Your ну раз начал понтоваться своей игрой показывай что там у тебя.Или это только понтовые слова)))
     
  21. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Это верно подробней тут

    http://dev.mysql.com/doc/refman/4.1/en/query-cache-operation.html

    Ну наконец-то давай jei :)
     
  22. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Я не видел, зацени.
    Зачем я буду заказами раскидываться, это не к чему.
    Какие понты-это вот вы понты нагибаете стаж у вас там я <матное слово>, а сделать дохлятинку не можете...
    А вы то что подпердываете? :D
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  24. demyan1

    demyan1 Активный пользователь

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    кому?
    смотри, чтобы не пришлось деньги возвращать, да ещё и с компенсацией...
    тогда вообще в минус уйдёшь...
     
  25. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    demyan1 ну что бы ты извёлся от завести её уже 3 раза продали.И все рады довольны.Не кто отказываться не собирается.

    Your клиентами раскидываться вухахахаххахаха .Это клиенты да)) оо супер пиши нам игры браузерные мы их так все любим.Пожалуйста напиши нам игру Your Желательно браузерную где там вещи для рыцаря надо собирать и что бы потом ждать перезагрузки страницы.Не смотри на то что сейчас такие крутые игры писанные на джаве.Делай игру 2003 года