Есть класс для бб кодов , сделал вывод записей в бд 3 записи,но почему то выводит 3 раза последнюю запись
Код
<?
class Modules{
//Отдельный класс для работы нужен для большой настройки и гибкости....
public static function info($text){
/*
Данный тег работает так
{news=maxcount}
maxcount - сколько вывести записей
*/
$text = preg_replace_callback("#\{news=(.+?)}#si", function($news) {
$news = intval($news[1]);
if ($news < 1 || $news > 50) $news = 1;
if(DB::$dbs->querySingle('select count(*) from `news`',0) < 1):
return 'На данный момент не было новостей !';
else:
$ncode = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/app/'.$_SERVER['HTTP_HOST'].'/modules/news.html'); //Подгружаем шаблон вывода
$ne = DB::$dbs->query("SELECT * FROM `news` ORDER BY `id` DESC LIMIT $news");
while($a = $ne->fetch(PDO::FETCH_LAZY)) {
/*Tegi*/
$one = array();
$one[0] = '#\{author}#si';
$one[1] = '#\{time}#si';
$one[2] = '#\{newstext}#si';
$two = array();
$two[0] = $a->us;
$two[1] = tim($a->time);
$two[2] = $a->msg;
/*END*/
$ncode .= preg_replace($one, $two, $ncode);
}
return $ncode;
endif;
}, $text);
//Выводим все остальное
return $text;
}
}
?>
UPD: Теперь выводит все записи, но с повторениями и с пустым шаблоном
Голова кипит и не получается