while ($row = $this->db->sql_fetchrow($result))
{
$sql2 = "SELECT m.mailinglist_forum_id, f.forum_name
FROM {$this->mailinglists_forums_table} m
JOIN " . FORUMS_TABLE . " f ON f.forum_id = m.mailinglist_forum_id
WHERE m.mailinglist_id = {$row['mailinglist_id']}";
$result2 = $this->db->sql_query($sql2);
$row['forums'] = $this->db->sql_fetchrowset($result2);
$this->db->sql_freeresult($result2);
$mailinglists_data[$row['mailinglist_id']] = $row;
}
Line 72-82: please don't run database queries inside loops. You should run a single query, for example WHERE $db->sql_in_set('m.mailinglist_id', $mailinglist_ids)
foreach ($forum_ids as $forum_id)
{
$sql = "INSERT INTO {$this->mailinglists_forums_table} " . $this->db->sql_build_array('INSERT',
[
'mailinglist_id' => $mailinglist_id,
'mailinglist_forum_id' => $forum_id
]);
$this->db->sql_query($sql);
}