Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

вывод на сайте всех заголовков тем определённого раздела

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

вывод на сайте всех заголовков тем определённого раздела

Сообщение NikolayP »

Подскажите , кто в этом разбирается, как сделать РНР код (JavaScript не проходит) для вывода на странице сайта всех заголовков "топиков"(с сылками на них) конкретного раздела форума , и при нажатии на выбранный заголовок на странице сайта должно выводиться содержимое этого топика.

пример: на форуме существует раздел "Описания к играм" , на странице сайта есть пункт меню "Описания игр" , щёлкнув на этот пункт меню на странице сайта открывается список всех существующих тем на форуме в разделе "Описания к играм". Выбрав интересующую тему на той же странице сайта выводится содержимое выбранной темы форума.

понятно ? :D
Splurov
phpBB 1.4.4
Сообщения: 138
Стаж: 19 лет 5 месяцев
Откуда: Россия, Москва

Сообщение Splurov »

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

$result= mysql_query("SELECT `topic_title`, `topic_id` FROM `phpbb_topics` WHERE `forum_id`=1") or die ('select error');
$topics='';
while($row=mysql_fetch_assoc($result)) {
   $topics.='<a href="http://forumurl.example/viewtopic.php?t="'.$row['topic_id'].'>'.$row['topic_title'].'</a>';
}
1 - номер форума, phpbb_ - префикс таблицы
в переменной $topics будут ссылки на ВСЕ темы из форума который идёт под номером 1.

ЗЫ: я это не проверял, если где-то ошибся, поправьте
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

NikolayP
Также можно попробовать разобраться с модом Fetch All, там есть довольно универсальные функции получения информации с форума для вставки в сайт.
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

Сообщение NikolayP »

Ребята я не программист и мне сложно в этом разбираться :( , мне бы пример рабочего кода который мне нужен ...
Код , который привёл Splurov , не срабатывает :cry: , во первых насколько я понимаю сначало должен быть какой то запрос на авторизацию с необходимой БД , потом только приведённый выше sql запрос к базе ...

при попытке запустить приведённый код выдаётся :
Warning: mysql_query(): Access denied for user 'ODBC'@'localhost' (using password: NO) in z:\home\test1.ru\www\forum\mods\portal\index.php on line 2

Warning: mysql_query(): A link to the server could not be established in z:\home\test1.ru\www\forum\mods\portal\index.php on line 2
select error
Подскажите пожалуйсто что я , бестолковый, делаю не так :cry: .

p.s: эксперементирую на локальном сервере (Денвер2).
Splurov
phpBB 1.4.4
Сообщения: 138
Стаж: 19 лет 5 месяцев
Откуда: Россия, Москва

Сообщение Splurov »

NikolayP
mysql_connect
mysql_select_db
http://php.net/
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

Сообщение NikolayP »

Splurov

сделал так как Вы советовали:
<?
@mysql_connect("localhost", "root", "") or die("Could not connect to MySQL server!");
@mysql_select_db("forum") or die("Could not select laguunru database!");
$result= mysql_query("SELECT `topic_title`,`topic_id` FROM `topics` WHERE `forum_id`=1") or die ('select error');
$topics='';
print "<table>";
while($row=mysql_fetch_assoc($result)) {
$topics.='<a href="http://test1.ru/forum/viewtopic.php?t="'.$row['topic_id'].'>'.$row['topic_title'].'</a>';
}

print "<tr>";
print "<td>$topics.</td>";
print "</tr>";
print "</table>";
?>
в результате получил:
Welcome to phpBB 2Топик 1Топик 2Топик 3.
всё в одну строчку , ссылка одна на всю строчку с адресом в ней :
результат перехода по этой ссылке - открытие форума с надписью "Темы, которую вы запросили, не существует. ".

Помогите , пожалуйсто, довести этот код до нормального функционирования. И можно ли использовать @mysql_connect без указания логина , когда заходишь на форум не требуется же указания логина для соединения с БД ...

Добавлено спустя 2 часа 33 минуты 42 секунды:

блин , ну что, никто помочь не может ???????
напрашиваются соответствующие выводы:
1. либо здесь все черезчур крутые кодеры сидят , которым зазорно помочь начинающему
2. либо здесь все такие бестолковые как я ........................
а ещё называется форум поддержки phpBB , остаётся только специально учить пару лет английский язык и идти на действительно реальный форум поддержки на официальный (английский) сайт ........................................

:twisted: :twisted: :twisted: :twisted: :twisted: :twisted:
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Утихомирьтесь пожалуйста :)

У меня работает такой код:

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

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id
        FROM phpbb_topics AS t, phpbb_posts AS p, phpbb_forums AS f
        WHERE
                t.forum_id = f.forum_id
                        AND f.auth_view = " . 0 . "
                        AND p.topic_id = t.topic_id
                        AND p.post_id = t.topic_last_post_id
        ORDER BY p.post_time DESC LIMIT 8";

$result = mysql_query($sql);

// Output data generation
$topics = array();
while ($row = mysql_fetch_assoc($result))
{
	$title = $row['topic_title'];
	$title = (strlen($title) > 50) ? substr($title, 0, 50) . '&hellip;' : $title;

	$topics[] = array (
				'topic' => $row['topic_id'],
				'title' => $title
				);
}
Чуть дальше:

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

<table>
<?foreach ($topics as $entry) {?>
<tr>
<td class=row1>
<span class=txtmed><a href="/community/viewtopic.php?t=<?=$entry['topic']?>"><?=$entry['title']?></a></span>
</td>
</tr>
<?}?>
</table>
Кстати, тривиальная задача выборки данных из базы - это отнюдь не специфика поддержки phpBB. К сожалению, мы не способны оказывать еще и масштабные консультации по программированию. :(
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

Сообщение NikolayP »

Xpert
извиняюсь , погорячился :oops:

Ваш код заработал , но это не совсем то что мне надо было ...
я конечно понимаю что в нём надо произвести маленькие изменения и всё будет тип-топ , но мои 40 летние мозги почемуто никак не могут сообразить где и что изменить ... , если подскажите буду примного благодарен Вам.
Напоминаю, что мне нужен PHP код который будет выводить все заголовки топиков(с сылками на них) определённого раздела форума , и по возможности при выборе нужного топика его содержимое должно открываться на той же странице , или хотя бы открывались в новом окне.
Splurov
phpBB 1.4.4
Сообщения: 138
Стаж: 19 лет 5 месяцев
Откуда: Россия, Москва

Сообщение Splurov »

NikolayP

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

<?php
$forum_id=1; // id форума из которого берём темы
include('config.php'); // путь до файла config.php (находится в директории с форумом)
$link=mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
$result= mysql_query("SELECT `topic_title`, `topic_id` FROM `phpbb_topics` WHERE `forum_id`=".$forum_id) or die ('select error');
$topics='';
while($row=mysql_fetch_assoc($result)) {
   print '<a href="viewtopic.php?t='.$row['topic_id'].'">'.$row['topic_title'].'</a><br />'; // если у вас форум не в корне сайта, то пропишите путь. например вместо viewtopic.php напишите /forum/viewtopic.php
}
?>
Я это проверил. И это работает. Выбирает ВСЕ сообщения из форума.
И я не уверен, что мой вариант будет корректно работать с перенесёнными темами... Также если вы укажите id закрытого от зарегенных или вообще ото всех, форума, то темы всё равно отобразятся.
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

Сообщение NikolayP »

Xpert , Splurov спасибо Вам огромное , Вы мне очень помогли !
ну вот последний штрих , извините за занудливость, но как в строке
print '<a href="viewtopic.php?t='.$row['topic_id'].'">'.$row['topic_title'].'</a><br />';

вставить target_"blank" у меня возникает проблемма из за "кавычек" ... :oops:
Аватара пользователя
Егор Наклоняев
phpBB 2.0.4
Сообщения: 404
Стаж: 19 лет 6 месяцев
Откуда: оттуда

Сообщение Егор Наклоняев »

NikolayP писал(а):но как в строке
print '<a href="viewtopic.php?t='.$row['topic_id'].'">'.$row['topic_title'].'</a><br />';

вставить target_"blank" у меня возникает проблемма из за "кавычек" ... :oops:
target=_blank или target="_blank"

Хоть так:
<a target=_blank href=...

(c интересом) А позвольте узнать Вы веб-дизайнер или кулхацкер?
Splurov
phpBB 1.4.4
Сообщения: 138
Стаж: 19 лет 5 месяцев
Откуда: Россия, Москва

Сообщение Splurov »

NikolayP
Как уже сказал Егор,

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

print '<a href="viewtopic.php?t='.$row['topic_id'].'" target="_blank">'.$row['topic_title'].'</a><br />';
NikolayP
phpBB 1.0.0
Сообщения: 6
Стаж: 19 лет 2 месяца
Откуда: г. Ухта

Сообщение NikolayP »

Егор Наклоняев
(c интересом) А позвольте узнать Вы веб-дизайнер или кулхацкер?
:D , ни то и не другое , я занимаюсь компьютерным "железом" и занимаюсь сайтом по необходимости ...

Всем ОГРОМНОЕ СПАСИБО ! Всё работает !!!

Вернуться в «Поддержка модов для phpBB 2.0.x»