Есть функция:
function serverList($link, $servtable, $serverDB){
mysql_select_db($serverDB);
mysql_query('set NAMES utf8');
$query = mysql_query("SELECT * FROM {$servtable}")or die('Не удалось соединиться: ' . mysql_error());
$server_count = mysql_num_rows($query);
$row = mysql_fetch_assoc($query);
for ($i = 0; $i<$server_count; $i++) {
print'
<tr>
<td>
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
<h4 style="line-height: 0px;">'.$row['name'].'</h4></a>
</div>
<div class="progress progress-info" style="margin-bottom: 10px;">
<div class="bar" style="width: '.$curPlayers.'%;"><strong style="color: black;">'.$curPlayers.'/'.$row['maxonline'].'</strong>
</div>
</div>
<div id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
'.$row['description'].'
</div>
</div>
</td>
</tr>
';
}
return;
}
Задача ее, вывод данных о серверах из БД, вобщем она работает.
И есть другой стрипт и шаблон.
Шаблон не буду показывать, нет смысла, а код скрипта:
<?php
define('HACKING', TRUE);
include('config.php');
include('functions.php');
require('minequery.class.php');
//include('servers.php');
$address = 'localhost';
$query = Minequery::query($address);
$maxPlayers = $query['maxPlayers'][0].$query['maxPlayers'][1].$query['maxPlayers'][2].$query['maxPlayers'][3];
$curPlayers = $query['playerCount'][0].$query['playerCount'][1].$query['playerCount'][2].$query['playerCount'][3];
$servers = serverList($link, $servtable, $serverDB);
$tpl = file_get_contents('tpl.php');
if ($username == $admins){
$adminmenu = '
<li><a href="#">Админка</a></li>
';}
$tpl = str_replace('{servers}', $servers, $tpl);
$tpl = str_replace('{content}', $content, $tpl);
$tpl = str_replace('{title}', $title, $tpl);
$tpl = str_replace('{admin}', $adminmenu, $tpl);
echo $tpl;
?>
Задача заменить результатом выполнения функции текст {servers} в шаблоне.
А получается что при любом варианте вызова функции результат просто отображается в месте где ее вызвали, и при помещении ее в переменную не хранится результат в ней и соответственно не заменяет {servers}.
Вот так получается
http://my.jetscreenshot.com/19394/20130919-duaj-38kb
А надо так
http://my.jetscreenshot.com/19394/20130919-ej8x-35kb