Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Вывод сообщений определенных пользователей

Темы из форумов поддержки phpBB 3.2.x (доступны только для чтения)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Ariqun
phpBB 1.0.0
Сообщения: 3
Стаж: 8 лет 4 месяца
Благодарил (а): 3 раза

Вывод сообщений определенных пользователей

Сообщение Ariqun »

Здравствуйте!
Есть необходимость вывести в отдельный блок посты определенных пользователей/группы пользователей, моих знаний и опыта в работе php и БД не хватает для этого. Вот, что у меня получилось:

php-файл в корне форума:

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');


$sql = 'SELECT * FROM `dbName_posts` WHERE poster_id = 49';
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
	$template->assign_block_vars('row', array(
		'NAME'	=> $row['poster_id'],
		'TEXT'	=> $row['post_text'],
	));
}
?>
В html:

Код: Выделить всё

<!-- BEGIN row -->
		<span>{row.NAME}</span>
		<span>{row.TEXT}</span>
<!-- END row -->
Разметка "<span>" тестовая, пытаюсь сначала получить результат, потом уже оформлять. Но никакого результата нет. Подскажите, пожалуйста, как правильно написать код или хотя бы подскажите принцип вывода информации из БД в html.
Спасибо!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Вывод сообщений определенных пользователей

Сообщение nissin »

На текущий момент правильно, это написать расширение.
А если по приведённому коду, то нужно добавить вызовы page_header, page_footer и установить шаблон через $template->set_filenames.
Ariqun
phpBB 1.0.0
Сообщения: 3
Стаж: 8 лет 4 месяца
Благодарил (а): 3 раза

Re: Вывод сообщений определенных пользователей

Сообщение Ariqun »

Вряд ли у меня получится написать расширение, во всяком случае быстро.

Изменила код на:

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');


$sql = 'SELECT * FROM `dbName_posts` WHERE poster_id = 49';
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
	$template->assign_block_vars('row', array(
		'NAME'	=> $row['poster_id'],
		'TEXT'	=> $row['post_text'],
	));
}

page_header();

$template->set_filenames(array(
	'body' => 'forumlist_body.html')
);

page_footer();
?>
Все равно нет никаких результатов на html-странице. Что я делаю не так?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5576
Стаж: 21 год 9 месяцев
Откуда: Питер
Благодарил (а): 210 раз
Поблагодарили: 902 раза

Re: Вывод сообщений определенных пользователей

Сообщение Siava »

Ariqun, код верный, всё работает. Быть может почистить кеш?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Вывод сообщений определенных пользователей

Сообщение nissin »

Ну если сильно хочется:
sample.php

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');

$sql = 'SELECT * FROM `' . POSTS_TABLE . '` WHERE poster_id = 2';
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result))
{
    $template->assign_block_vars('row', array(
        'NAME'  => $row['poster_id'],
        'TEXT'  => $row['post_text'],
    ));
}
$db->sql_freeresult($result);

page_header('Sample page title');
$template->set_filenames(array(
    'body' => 'sample_body.html')
);
page_footer();

styles/prosilver/template/sample_body.html

Код: Выделить всё

<!-- BEGIN row -->
        <div class="post">
                <h3>{row.NAME}</h3>
                <div class="content">{row.TEXT}</div>
        </div>
        <hr />
<!-- END row -->
Ariqun
phpBB 1.0.0
Сообщения: 3
Стаж: 8 лет 4 месяца
Благодарил (а): 3 раза

Re: Вывод сообщений определенных пользователей

Сообщение Ariqun »

Siava, nissin,
Огромное спасибо! Все получилось!
Мой предыдущий код действительно был рабочий, просто я его писала в файле myphp.php, а результат пыталась получить на главной странице форума /forum/index.php.
Добавила код в index.php и результат появился на странице.
Еще раз огромное спасибо! :P

Вернуться в «phpBB 3.2.x (архив)»