а то я делаю не правельно
делаю цикл пользователей и там запрос оправления сообщения
как можно 1 запросом или какие варианты есть ?
Спустя 27 минут, 10 секунд (1.02.2012 - 20:19) bob marley написал(а):
okapo
только циклическая отправка
только циклическая отправка
Спустя 12 минут, 47 секунд (1.02.2012 - 20:32) neadekvat написал(а):
Внутрення почта сайта или email?
Спустя 18 минут, 32 секунды (1.02.2012 - 20:50) Zhandos написал(а):
Для начала хоть объясни как и куда отправляешь сообщения?
Если по email, то тут надо быть осторожным, многие хостинги делают ограничение на кол-во отправляемых писем. Решить это можно создав таблицу в БД где можно будет хранить задания для отправки, и кроном каждые 10-15 минут проверять таблицу на наличие новых заданий на отправку.
Если это внутренняя система, то надо знать как это все устроено. Телепаты в отпуске)))
Если по email, то тут надо быть осторожным, многие хостинги делают ограничение на кол-во отправляемых писем. Решить это можно создав таблицу в БД где можно будет хранить задания для отправки, и кроном каждые 10-15 минут проверять таблицу на наличие новых заданий на отправку.
Если это внутренняя система, то надо знать как это все устроено. Телепаты в отпуске)))
Спустя 45 минут, 23 секунды (1.02.2012 - 21:36) okapo написал(а):
внутренняя почта по сайту
это меня интересует
это меня интересует
Спустя 4 минуты, 58 секунд (1.02.2012 - 21:41) Zhandos написал(а):
Хм, и как все реализовано? Структура базы данных. Часть кода.
Спустя 12 минут, 53 секунды (1.02.2012 - 21:54) neadekvat написал(а):
Цитата (Zhandos @ 1.02.2012 - 22:41) |
Часть кода. |
Код не нужен.
Нужна структура того, как хранятся письма.
Спустя 8 минут, 38 секунд (1.02.2012 - 22:02) okapo написал(а):
CREATE TABLE IF NOT EXISTS `mails` (
`id_m` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(40) NOT NULL,
`message` text NOT NULL,
`readed` enum('1','0') NOT NULL DEFAULT '0',
`re` enum('1','0') NOT NULL,
`from` int(11) NOT NULL,
`to` int(11) NOT NULL,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id_m`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=45 ;
вот таблица
Спустя 8 минут, 2 секунды (1.02.2012 - 22:10) neadekvat написал(а):
Придется таки в цикле перебирать всех пользователь, которым надо отправить письма. И вот в этом цикле в переменную следует собирать текст запроса на внесение строк.
То есть запрос, после цикла, должен выглядеть как-то так:
И делаешь уже запрос с этим текстом.
То есть запрос, после цикла, должен выглядеть как-то так:
INSERT INTO `tbl` (`col`, `col`, `col`) VALUES
('$val', '$val', '$val'),
('$val', '$val', '$val'),
....
И делаешь уже запрос с этим текстом.
Спустя 23 часа, 50 минут, 4 секунды (2.02.2012 - 22:00) okapo написал(а):
вроде понял, спасибо, в карму добавил
Спустя 2 дня, 1 минута, 2 секунды (4.02.2012 - 22:01) okapo написал(а):
и так начал я делать
вот код
я вот написал но почемуто не доходит, в чем ошибся поправьте меня пожалуста
вот код
$ids = implode( ',', $_POST['ids'] );
$sql = $mysqli->query("SELECT `id` FROM `".DB_PREFIX."_users` WHERE `id` IN (".$ids.")");
$insert_pm = '';
while($res = mysqli_fetch_assoc($sql))
{
$insert_pm .= "('".input($_POST['title'])."','".input($_POST['message'])."','1','".intval($_SESSION['myid'])."','".$res['id']."',NOW()),";
}
$mysqli->query("INSERT INTO ".DB_PREFIX."_mails (`title`,`message`,`ref`,`from`,`to`,`date`)
VALUES ".$insert_pm."");
я вот написал но почемуто не доходит, в чем ошибся поправьте меня пожалуста
Спустя 39 минут, 50 секунд (4.02.2012 - 22:41) nugle написал(а):
Выведи сам запрос через переменную и посмотри, что не так. попробуй в базу его заталкать
Спустя 1 минута, 50 секунд (4.02.2012 - 22:43) okapo написал(а):
мне кажется от того что в последней строке остоется запятая
Спустя 36 секунд (4.02.2012 - 22:44) nugle написал(а):
ну так обрежь через trim, что мешает то? я просто в код не вглядывался тщательно
Спустя 14 минут, 34 секунды (4.02.2012 - 22:58) okapo написал(а):
ну а как удалить запятую в последней строке ?
Спустя 3 минуты, 44 секунды (4.02.2012 - 23:02) nugle написал(а):
я же написал, ф-ей trim
$insert_pm = trim($insert_pm, ',');
$insert_pm = trim($insert_pm, ',');
Спустя 4 минуты, 32 секунды (4.02.2012 - 23:06) walerus написал(а):
<?php
$string = '1,2,3,4,';
if ( substr($string, -1) == "," )
$string = substr( $string, 0, -1 );
echo 'string - '.$string."<br>";
// или
$string = '1,2,3,4,';
$string = trim( $string, ',' );
echo 'string - '.$string."<br>";
Как больше нравится.
Спустя 43 минуты, 56 секунд (4.02.2012 - 23:50) okapo написал(а):
Цитата (walerus @ 4.02.2012 - 20:06) |
|
вот что помогла, все спасибо
![rolleyes.gif](http://phpforum.ru/html/emoticons/rolleyes.gif)