Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбрать неотправленные сообщения, отправить, пометить сообщения отправленными 
V
    Опции темы
Biff
Дата 29.7.2010, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Я внес в базу одно поле ,`sent`(отправлено) типа enum ('0','1')(по умолчанию - 0) - для того чтобы помечать уже отправленные письма(анкеты) единицей...Соответственно при вызове скрипта  нужно будет выбирать из базы все анкеты,у которых в поле `sent` стоит 0(т.е. они ещё не отправлялись) - и отправлять их,не забыв после успешной отправки проставить в базе им пометки 1 вместо 0 - вот и всё...
Таким образом в базе все отправленные помечены 1,неотправленные помечены 0.

Помогите сделать запрос к б.д., выбрать анкеты enum которых равен 0, а после отправки письма переписать в б.д. enum = 1 (то есть пометить отправленные).

Код

 <?php 
 include "config.php"; 
 $SelectQuery="SELECT * FROM `anketa` WHERE `date` = date(NOW()) AND DATE_FORMAT(date,'%D%c%Y') = DATE_FORMAT(NOW(),'%D%c%Y') AND DATE_FORMAT(time,'%H%i') = DATE_FORMAT(NOW(),'%H%i')" 
  $SelectReslut = mysql_query($SelectQuery); 
  //сколько записей получили
  $Count = mysql_num_rows($SelectReslut); 
  for ($i=1; $i<=$Count; $i++) { 
    //получаем очередную строку
    $Fetch = mysql_fetch_array($SelectReslut); 
    //выводим результат
    echo $Fetch['text']." : ".$Fetch['email']." : ".$Fetch['time']." : ".$Fetch['date']; 
  // $date - заведомо известная переменная
  // $time - заведомо известная переменная
//(взято из базы в формате ГГГГ-ММ-ДД)
//(взято из базы в формате ч-м)

$to = $Fetch['email']; 
 $message .=" Текст письма : ".$text; 

 if(mail($to, $subject,$message)){ 
    echo "сообщение отправлено успешно"; 
}  
else{  
    echo "есть некоторые ошибки, чтобы отправить, проверьте параметры сервера"; 

?>


PM MAIL   Вверх
Biff
Дата 29.7.2010, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Я внес в базу одно поле ,`sent`(отправлено) типа enum ('0','1')(по умолчанию - 0) - для того чтобы помечать уже отправленные письма(анкеты) единицей...Соответственно при вызове скрипта  нужно будет выбирать из базы все анкеты,у которых в поле `sent` стоит 0(т.е. они ещё не отправлялись) - и отправлять их,не забыв после успешной отправки проставить в базе им пометки 1 вместо 0 - вот и всё...
Таким образом в базе все отправленные помечены 1,неотправленные помечены 0.

Помогите сделать запрос к б.д., выбрать анкеты enum которых равен 0, а после отправки письма переписать в б.д. enum = 1 (то есть пометить отправленные).

Код

 <?php 
 include "config.php"; 
 $SelectQuery="SELECT * FROM `anketa` WHERE `date` = date(NOW()) AND DATE_FORMAT(date,'%D%c%Y') = DATE_FORMAT(NOW(),'%D%c%Y') AND DATE_FORMAT(time,'%H%i') = DATE_FORMAT(NOW(),'%H%i')" 
  $SelectReslut = mysql_query($SelectQuery); 
  //сколько записей получили
  $Count = mysql_num_rows($SelectReslut); 
  for ($i=1; $i<=$Count; $i++) { 
    //получаем очередную строку
    $Fetch = mysql_fetch_array($SelectReslut); 
    //выводим результат
    echo $Fetch['text']." : ".$Fetch['email']." : ".$Fetch['time']." : ".$Fetch['date']; 
  // $date - заведомо известная переменная
  // $time - заведомо известная переменная
//(взято из базы в формате ГГГГ-ММ-ДД)
//(взято из базы в формате ч-м)

$to = $Fetch['email']; 
 $message .=" Текст письма : ".$text; 

 if(mail($to, $subject,$message)){ 
    echo "сообщение отправлено успешно"; 
}  
else{  
    echo "есть некоторые ошибки, чтобы отправить, проверьте параметры сервера"; 

?>


PM MAIL   Вверх
bars80080
Дата 29.7.2010, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а в чём возникли затруднения?

выбрать нужные письма:
Код

select * from `anketa` where `sent`=0


затем отсылаем письмо, и если отправка прошла успешно, обновляем эту запись:

Код

update `anketa` set `sent`=1 where `id`='.$id

PM MAIL WWW   Вверх
Biff
Дата 29.7.2010, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Код

update `anketa` set `sent`=1 where `id`='.$id


А вот эту строчку можно в php код вставлять?

например вот так?

 
Код

if(mail($to, $subject,$message)){ 
    echo update `anketa` set `sent`=1 where `id`='.$id; 
}  

PM MAIL   Вверх
bars80080
Дата 29.7.2010, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



нет конечно. надо немного почитать документации и понять, что в каком виде надо вставлять, и какие параметры задавать


эх, а ведь раньше прежде чем за что-то браться хотя бы немного интересовались предметом работы. вот мне просто интересно, вы бы к фрезерному станку тоже без инструкции подошли?
PM MAIL WWW   Вверх
Biff
Дата 29.7.2010, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Код

вы бы к фрезерному станку тоже без инструкции подошли? 


 к фрезерному скорее всего нет smile  хотя люблю метод тыка smile 
PM MAIL   Вверх
Biff
Дата 29.7.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



можно узнать этот код правильный:
Код

 if(mail($to, $subject,$message)){ 
    echo $query = "update `anketa` set `sent`=1 where `id`='.$id";
}  


PM MAIL   Вверх
skyboy
Дата 29.7.2010, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Biff, даю наводку: как ты выполняешь запрос на выбор списка? не просто ведь "echo 'Select ...", правда?
вот точно так же надо выполнять другие запросы: update, insert, delete, create table и другие. вот только если запрос не должен был вернуть данные(select-запрос возвращает 0 или больше строк результата, update не должен вернуть строки вообще), то не надо делать mysql_fetch_*, а так запрос выполняется так же и в такой же форме

Добавлено через 6 минут и 35 секунд

 ! 
skyboy
Biff, последнее китайское предупреждение. Прекрати дублировать темы

PM MAIL   Вверх
bazzjr
Дата 30.7.2010, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



оффтоп
skyboy, а мне без предупреждений втюрили предупреждение  smile 

p/s/ где она справедливость  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0975 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.