Вывод похожих записей

360
.
В этом куске цикл нафиг ненужен
<?php
$id = $article_id['id'];
$tag_arr = explode(', ', articles::tagline('id'));
// Получаем id таких же тегов
foreach ($tag_arr as $tag){
$req =mysql_query("SELECT id FROM cms_articles_tags WHERE tags = '$tag' AND article_id<>'$id' LIMIT 5");
if (mysql_num_rows($req)) {
while ($tagitem = mysql_fetch_assoc($req)) {
$id_target[] = $tagitem['id'];
}
}
}
?>

Там просто одним запросом
$req = mysql_query("SELECT id FROM cms_articles_tags WHERE tags = '$tag' AND article_id<>'$id' LIMIT 5");

В итоге получим массив такого вида
Array(
           ['id'] => Array(
                           [0] => '3',
                           [1] => '5',
                           [2] => '6',
                           [3] => '7',
                           [4] => '8'
                           )
)

где 3, 5, 6, 7, 8 - полученные айди.
Всего: 11