## вычесляем срок годности записи ( Если менеше указанной даты, значит да, Если больше или равно, значит удаляем ( 2011-02-23-15-47-03 в формате Y-m-d-H-i-s))
$result="DELETE FROM refer WHERE datetime_remove < now();";
щас удаляет все записи в базе которые старые, а как удалить одну выбранную запись?
пытаюсь сделать если нестарая запись то одно выводит если старая то удаляем ее
А что вообще хотите получить? Проверить, есть ли запись с reflink=полученному гетом? И если есть, но дата уже прошла, то удалить?
Всё, вопрос отпал. Добавьте дополнительные условия, типа:
Покинул форум
Сообщений всего: 369
Дата рег-ции: Март 2010 Откуда: с яндекса
Помог: 3 раз(а)
Мелкий пишет:
2011-02-23-15-47-03 в формате Y-m-d-H-i-s
Мелкий пишет:
Не ошиблись?
эта дата будущего - ссегоднешнего дня это неделя, и получается при запросе по ?r=123
выберем поле 123 и проверяем не просрочено ли оно, если просрочено то удаляем если не просрочено то выводим другое (Добавление) Мелкий
Спасибо большущее, получилось...
Еще одни момент:
При запросе после удаления старой записи, не получается вывести ## если нет
как оператором if проверить этот sql запрос? чтобы было да и нет
Мелкий
Отправлено: 16 Февраля, 2011 - 19:35:49
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Телевизор, я именно про формат спрашиваю. Общепринятый DATETIME - Y-m-d H:i:s, т.е. 2011-02-23 15:47:03 (Добавление)
Телевизор пишет:
как оператором if проверить этот sql запрос? чтобы было да и нет
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
ээээ.... мммм.... убит.
А зачем такие извращения?
В распоряжении удобнейший для вычисления времени UNIXTIME (в котором вы всё равно и считаете), нативный для СУБД DATETIME, функции работы и с тем и с другим.
в общем, поздравляю, на несколько минут совершенно лишить меня способности говорить и печатать всего 6-ю строками кода - это круто.
----- PostgreSQL DBA
Okula
Отправлено: 16 Февраля, 2011 - 20:22:30
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Телевизор, да уж... так извращатся над кодом... я в шоке...
Вам же нужно осуществить обычную математическую операцию: прибавить к настоящему времени желаемое количество часов.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Okula
Отправлено: 16 Февраля, 2011 - 22:07:03
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
OrmaJever, да неужели... с каких это пор математические операции и преоброзование данных стали порнографией?
А вот использовать функции в SQL я бы не стал бы т.к. не во всех СУБД реализация этих функций совпадает. Тот же пример с функцией NOW()
Для получения текущей даты:
В Access используется функция NOW (). В DB2 и PostgreSQL — CURRENT_DATE.
В MySQL используется функция CURDATE () . В Oracle — SYSDATE. В SQL Server и Sybase — GETDATE () (Добавление)
Да ещё многое зависит от того в каком виде хранится информация в БД
Мелкий
Отправлено: 16 Февраля, 2011 - 22:14:11
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Okula пишет:
А вот использовать функции в SQL я бы не стал бы т.к. не во всех СУБД реализация этих функций совпадает.
А какая разница до других СУБД, если всё равно весь код переписывать, т.к. используются mysql_* функции?
Так можно дойти и до того, что вообще SQL нельзя использовать, есть же не SQL-базы.
----- PostgreSQL DBA
Okula
Отправлено: 16 Февраля, 2011 - 22:18:40
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Мелкий, ну тут уж личное дело каждого как использовать функции в SQL я лишь высказал своё отношение к ним
Если можно обойтись без них то я стараюсь ими не пользоваться.
Телевизор
Отправлено: 16 Февраля, 2011 - 22:18:55
Посетитель
Покинул форум
Сообщений всего: 369
Дата рег-ции: Март 2010 Откуда: с яндекса
Помог: 3 раз(а)
эм..., никто нечего не видел... тсссс...
OkulaOrmaJeverМелкий
Спасибо что подсказали...
ну хоть всплыло такое бредонеразумение... (Добавление)
что-то страшновато стало смотреть на другие скрипты
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Okula для записи даты в бд можно написать и 100 строк а толку? Нужно распределять нагрузку. В mysql для добавления пары часов к дате существует специальный синтаксис, а в php нужно изобретать веловипед.
А зачем тогда использовать поле timestamp? Давайте делать varchar(20) и парсить сложную дату в php...
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Okula
Отправлено: 16 Февраля, 2011 - 22:52:13
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
OrmaJever, ну я например пишу дату в базу в секундах, мне намного удобнее так работать с ней.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.