В цикле выводится только первая запись
function setCurrentBlock($BlockName)
{
$query = mysql_query("SELECT `username`, `tplusr`, `message`, `tplmsg`, `block` FROM `guestMVC`") or die(mysql_error());
$blck = preg_match_all("/(?:\{$BlockName\})([\D]+)(?:\{\/$BlockName\})/u", $this->html, $blk);
foreach($blk[1] as $ss=>$qq)
while($sql = mysql_fetch_assoc($query))
{
$this->html = str_replace($blk[0], $blk[1], $this->html);
$bb = str_replace($sql['tplusr'], $sql['username'], $qq);
$qqq = str_replace($sql['tplmsg'], $sql['message'], $bb);
$this->html = str_replace($qq, $qqq, $this->html);
}
/*
$qq(строка) -
Имя человека: {USERNAME}
Его комментарий:
{USERCOMMENT}
$qqq(строка) -
Имя человека: Анна
Его комментарий:
Отличненько было!! !
Имя человека: Михаил
Его комментарий:
Проверка 2! Сообщение!
....
....
*/
Выводится только первая запись.
Имя человека: Анна
Его комментарий:
Отличненько было!!!
Как понять два раза fetch?
Даже если это сработает, в чем я сомневаюсь, это издевательство. Еще идеи есть, что бы оптимизировать как-то. Сейчас попробую Ваш вариант.
К сожалению, ничего не дало. Так же один первый комментарий.
Не совсем понимаю куда вы клоните....
Что assoc возвращает ассоциативный массив я знаю. Но почему причем здесь это?
Если у меня есть строка $qqq
Имя человека: Анна
Его комментарий:
Отличненько было!! !
Имя человека: Михаил
Его комментарий:
Проверка 2! Сообщение!
Имя человека: Александр
Его комментарий:
Привет всем! Првоерка
Имя человека: {Сан Саныч}
Его комментарий:
{ПРИВЕТ ВСЕМ ОТ САН САНЫЧА!! }
И есть строка $qq -
Имя человека: {USERNAME}
Его комментарий:
{USERCOMMENT}
Имя человека: {USERNAME}
Его комментарий:
{USERCOMMENT}
Имя человека: {USERNAME}
Его комментарий:
{USERCOMMENT}
Имя человека: {USERNAME}
Его комментарий:
{USERCOMMENT}
Я просто делаю замену строки 1 на строку 2.
Наведите, пожалуйста, на ошибку.