![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
![]()
Помогите исправить/дополнить скрипт.
Надо выбрать из бд. только те параметры, у которых поля date+time совпадают с текущими и если date+time совпадают, то отправить письмо на соответствующий email с текстом. Код скрипта scripts.php PHP код:
PHP код:
|
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]()
Жуткий код...
Боюсь даже спрашивать - но попробую: "Что не работает..?" Цитата:
Вместо кучи этих ваших if может проще так: PHP код:
Цитата:
PHP код:
Прийдётся когда-нибудь поработать в команде - вас за такое вот mess заклюют. |
||
![]() |
![]() |
#3 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]()
По mail.php:
1. Вы получаете данные для писем ($email,$date,$time,$text) из БД - почему же тут вы их ожидаете в массиве $_POST ??? 2. Цитата:
3. $subject я так и не нашел.... |
|
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
![]() Цитата:
Задача в том чтобы обновлять каждую минуту с помощью cron файл script.php, он в свою очередь проверяет на наличия совпадения времени+даты с текущий. И когда находит подключает файл mail.php для отправки письма. БД. ![]() |
|
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
![]()
Подправил немного код. Может вообще не нужно никакое сравнение даже это:
PHP код:
script.php PHP код:
mail.php PHP код:
|
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]()
1. Вы ничего не сделали с этим:
Цитата:
Цитата:
соответственно - во-вторых (даже чисто теоретически) вы сравниваете уже записанную в базу временную метку с сиюсекундной меткой,что,учитывая вызов каждую минуту - никогда не даст вам равных значений ($current_time == $time) 3.Это круто: PHP код:
Гораздо проще(и правильнее,на мой взгляд) будет ввести в базу ещё одно поле ,например `sent`(отправлено) типа enum ('0','1')(по умолчанию - 0) - и просто помечать уже отправленные письма(анкеты) единицей...Соответственно при вызове вашего скрипта каждую минуту вам просто нужно будет выбирать из базы все анкеты,у которых в поле `sent` стоит 0(т.е. они ещё не отправлялись) - и отправлять их,не забыв после успешной отправки проставить в базе им пометки 1 вместо 0 - вот и всё... Таким образом у вас в базе все отправленные помечены 1,неотправленные помечены 0. Быстро и просто. ![]() Последний раз редактировалось Andkorol; 28.07.2010 в 22:45. Причина: Add link for ENUM |
||
![]() |
![]() |
#7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]()
Ещё совет - в MySQL есть замечательный тип данных DATETIME , который потом при помощи MySQL-функции DATE_FORMAT() позволяет делать с собой удивительные вещи,форматировать и сортировать по-всякому...
Не делайте средствами PHP то,что вполне можно решить средствами самой СУБД - так быстрее и проще. |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
![]() PHP код:
За идею сортировки большое спасибо ![]() Цитата:
PHP код:
|
|
![]() |
![]() |
#9 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
![]() Цитата:
Возвращает текущую дату и время как величину в формате YYYY-MM-DD HH:MM:SS или YYYYMMDDHHMMSS, в зависимости от того, в каком контексте используется функция - в строковом или числовом: mysql> SELECT NOW(); -> '1997-12-15 23:50:26' mysql> SELECT NOW() + 0; -> 19971215235026 ЧТО вы собираетесь получить в этом вот случае : PHP код:
Используйте DATE_FORMAT() - вы же вроде им дальше пользуетесь. PHP код:
PHP код:
|
|
![]() |
![]() |
#10 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
![]()
Извините, что пристал, но мне действительно нужно разобраться.
Я что то не понял, а зачем вообще нужно разбираться с форматом датой и временем, сравнений ведь уже никаких нет. ![]() я сделал вот такой вид: 29.07.2010. Но зачем это? PHP код:
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите плиз написать маленький php скрипт длясчета денег | craftins | PHP | 2 | 09.09.2009 13:56 |
помогите составить SQL запрос!!!! | MAKSA | БД в Delphi | 12 | 07.08.2009 11:12 |
php скрипт не выводит нужную инфу.. помогите плиз | escrimer | PHP | 2 | 09.08.2007 02:37 |