Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> str_replace результат функции в шаблон.
Dobrik  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 22
Пользователь №: 31505
На форуме: 4 года, 9 месяцев, 20 дней
Карма:

Не курю:
14 лет, 7 месяцев, 26 дней


Добрый день. Собственно я нуб в ПхП.

Есть функция:

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
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Dobrik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 22
Пользователь №: 31505
На форуме: 4 года, 9 месяцев, 20 дней
Карма:

Не курю:
14 лет, 7 месяцев, 26 дней


Решено:

Помогло

ob_start();
serverList($link, $servtable, $serverDB);
$servers = ob_get_contents();
ob_end_clean();
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса