malina95
Дракула кода:)
Всем привет!
Я делаю подписку на сайте, и не получается один момент, не хочет работать sql запрос хотя он правильный...
Делаю я её по этой статье http://myrusakov.ru/php-subscribe.html , автор тупо не знает где ошибка.
Вообщем запрос не хочет находить следующий айди:
Весь код:
Помогите пожалуйста, уже 2 день мучаюсб с ней и не могу найти ошибку!
ХЕЛП
Я делаю подписку на сайте, и не получается один момент, не хочет работать sql запрос хотя он правильный...
Делаю я её по этой статье http://myrusakov.ru/php-subscribe.html , автор тупо не знает где ошибка.
Вообщем запрос не хочет находить следующий айди:
Весь код:
PHP:
<?php
require_once "config.php";
require_once "lib/functions.php";
connectDB();
$result_set_subscribe = $mysqli->query("SELECT `id`, `post_id`, `subscriber_id`, `end` FROM `$table_subscribe` WHERE `end` = '0' LIMIT 1"); // Получаем 1 неоконченную рассылку
$last_subscribe = $result_set_subscribe->fetch_assoc(); // Преобразуем result_set в массив
/* Если все рассылки уже отправлены, то смотрим: нет ли новых статей на сайте */
if ($result_set_subscribe->num_rows == 0) {
$result_set_post = $mysqli->query("SELECT `id` FROM `$table_lesson` WHERE `id` > '".$last_subscribe['post_id']."' LIMIT 1");
if ($result_set_post->num_rows == 0) exit; // Если ничего нового нет, то просто выходим
$post = $result_set_post->fetch_assoc(); // Получаем данные о новой статье
$mysqli->query("INSERT INTO $table_subscribe (`post_id`, `subscriber_id`, `end`) VALUES ('".$post['id']."', '0', '0')"); // Добавляем в очередь новую рассылку
exit; // Выходим, а через 10 минут данный скрипт будет снова запущен, и уже пойдёт непосредственно рассылка писем
}
$id = $last_subscribe['id'];
$post_id = $last_subscribe['post_id'];
$last_id = $last_subscribe['subscriber_id']; // Получаем id подписчика, которому было отправлено письмо в последний раз
$result_set_subscribers = $mysqli->query("SELECT * FROM $table_subscribers WHERE `id` > '".$last_id."'");
$count = 0;
while (($row = $result_set_subscribers->fetch_assoc()) !== false) {
$subscriber_id = $row['id'];
$subscriber_name = $row['name'];
$subscriber_email = $row['email'];
$subscriber_date = DateClass::make_date($row['date']);
$result_set_mail = $mysqli->query("SELECT `url` FROM $table_lesson WHERE `id` = '".$post_id."'");
$post_mail = $result_set_mail->fetch_assoc(); // Получаем данные о новой статье
$subject = 'Новая статья на сайте Malinichev.ru';
$message = '
<p>Здравствуйте, <b>'.$subscriber_name.'</b>!</p>
<br />
На сайте <a href = "http://malinichev.ru/">Malinichev.ru</a> появилась новая статья.<br />
Чтобы <b>ознакомиться</b> с новой статьёй, пройдите по ссылке ниже:<br />
<a href = "http://malinichev.ru/lesson/'.$post_mail['url'].'.html">http://malinichev.ru/lesson/'.$post_mail['url'].'.html</a><br />
С Уважением, Владислав Малиничев и сайт <a href = "http://malinichev.ru/">Malinichev.ru</a>!<br />
<br />
----------------------------------------------------------------------
<br />
Если Вы не желаете больше получать уведомления о новых статьях, то Вы можете отписаться, пройдя по ссылке ниже:<br />
<a href = "ссылка">ссылка</a><br />
Дата Вашей подписки: '.$subscriber_date.' -------- '.$subscriber_id.'<br />
';
$headers = "From: Malinichev.ru <[email protected]>\r\nContent-type: text/html; charset=utf-8 \r\n";
mail ($subscriber_email, $subject, $message, $headers);
/* Здесь код для отправки письма через функцию mail() */
$count++;
if ($count == 10) {
$mysqli->query("UPDATE $table_subscribe SET `subscriber_id` = '".$subscriber_id."' WHERE `id` = '".$id."'"); // Обновляем информацию о последнем подписчике, которому было отправлено письмо
break; // Выходим после 10-ти отправлений
}
}
if ($result_set_subscribers->num_rows <= 10)
$mysqli->query("UPDATE $table_subscribe SET `end` = '1' WHERE `id` = '".$id."'"); // Всё отправлено
?>
ХЕЛП