1

Topic: Автопостер для форума

Привет. Тут начал писать автопостер для punbb. Чот не очень пишется.
Задача:
Есть большой массив готовых постов в виде: id форума|заголовок темы|сообщение
Нужно добавлять эти сообщения раз в 20 минут от фейковых пользователей.
Я знаю, тут есть Pan Posting но это немного не то. Он не позволяет полностью автоматизировать задачу.
Что я уже сделал.
Исходные данные для тестов:

$ip = "127.0.0.1";
$today = time();
$user = 'Admin';
$user_id = 2;
$forum_id = 2;
$subject = 'Это заголовок';
$message = 'Это текст';

Ок. Завели все данные. Теперь нужно получить дополнительные параметры. Вот тут жопа. Приходится делать аж три заброса к базе:

$sql = mysql_query("SELECT*FROM `topics` ORDER BY `id` DESC LIMIT 1");

      while($record = mysql_fetch_array($sql))
   {
         $newid = $record['id'] + 1;
         $first_post_id = $record['first_post_id'] + 1;
      } 
$sql = mysql_query("SELECT*FROM `posts` ORDER BY `id` DESC LIMIT 1");

      while($record = mysql_fetch_array($sql))
   {
         $post_id = $record['id'] + 1;
         
      } 
$sql = mysql_query("SELECT*FROM `forums`  where `id`=".$forum_id." LIMIT 1");

      while($record = mysql_fetch_array($sql))
   {
         $num_topics = $record['num_topics'] +1;
         $num_posts = $record['num_posts'] +1;
         
      
      }

Дальше еще хуже. Идут два запроса на добавление данных:

$sql = mysql_query("INSERT  into `topics` (`poster`, `subject`, `posted`, `first_post_id`, `last_post`, `last_post_id`, `last_poster`, `forum_id`)
      values ('".$user."', '".$subject."', '".$today."', '".$first_post_id."', '".$today."', '".$first_post_id."', '".$user."',  '".$forum_id."');");    
      
$sql2 = mysql_query("INSERT  into `posts` (`poster`, `poster_id`, `poster_ip`,  `message`, `posted`, `topic_id`)
      values ('".$user."', '".$user_id."', '".$ip."', '".$message."', '".$today."', '".$newid."');");    

И один запрос на обновление:

$sql3 =mysql_query ("UPDATE `forums` SET `num_topics` = '".$num_topics."', `num_posts` = '".$num_posts."', `last_post` = '".$today."', `last_post_id` = '".$post_id."', `last_poster` = '".$user."'  WHERE id='".$forum_id."';");

Мало того, что я это пока писал - чуть не родил. Шесть запросов к БД - походу перебор. Можно ли упростить?
Вопрос два:
На главной странице показывает ссылку правильно:
https://a.radikal.ru/a15/1901/b1/a29b1303b230.png
сайт/viewtopic.php?pid=22#p22
А вот на viewforum - страницы категории на один меньше:
сайт/viewtopic.php?pid=21#p21
Тут я уже башку совсем сломал.
Буду благодарен за любую помощь. Обязуюсь в конце поделиться скриптом с народом.  PunBB_INFO_ICQ/smile

2

Re: Автопостер для форума

Не изобретай велик, уже есть готовый набросок https://punbb.softplaza.net/t-1163.html