|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
28.07.2010, 20:06 | #1 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
Помогите составить скрипт PHP/SQL
Помогите исправить/дополнить скрипт.
Надо выбрать из бд. только те параметры, у которых поля date+time совпадают с текущими и если date+time совпадают, то отправить письмо на соответствующий email с текстом. Код скрипта scripts.php PHP код:
PHP код:
|
28.07.2010, 20:34 | #2 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Жуткий код...
Боюсь даже спрашивать - но попробую: "Что не работает..?" Цитата:
Вместо кучи этих ваших if может проще так: PHP код:
Цитата:
PHP код:
Прийдётся когда-нибудь поработать в команде - вас за такое вот mess заклюют. |
||
28.07.2010, 20:45 | #3 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
По mail.php:
1. Вы получаете данные для писем ($email,$date,$time,$text) из БД - почему же тут вы их ожидаете в массиве $_POST ??? 2. Цитата:
3. $subject я так и не нашел.... |
|
28.07.2010, 21:47 | #4 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
Цитата:
Задача в том чтобы обновлять каждую минуту с помощью cron файл script.php, он в свою очередь проверяет на наличия совпадения времени+даты с текущий. И когда находит подключает файл mail.php для отправки письма. БД. |
|
28.07.2010, 21:53 | #5 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
Подправил немного код. Может вообще не нужно никакое сравнение даже это:
PHP код:
script.php PHP код:
mail.php PHP код:
|
28.07.2010, 22:28 | #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 |
||
28.07.2010, 22:41 | #7 |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Ещё совет - в MySQL есть замечательный тип данных DATETIME , который потом при помощи MySQL-функции DATE_FORMAT() позволяет делать с собой удивительные вещи,форматировать и сортировать по-всякому...
Не делайте средствами PHP то,что вполне можно решить средствами самой СУБД - так быстрее и проще. |
29.07.2010, 00:26 | #8 | |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
PHP код:
За идею сортировки большое спасибо Попробую это осуществить. Цитата:
PHP код:
|
|
29.07.2010, 00:47 | #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 код:
|
|
29.07.2010, 10:38 | #10 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 47
|
Извините, что пристал, но мне действительно нужно разобраться.
Я что то не понял, а зачем вообще нужно разбираться с форматом датой и временем, сравнений ведь уже никаких нет. Как я понял из базы достаются параметры mail и text которые стоят в одной строчке с настоящей датой и временем (то есть соответствуют им). я сделал вот такой вид: 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 |