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

Необходима помощь Знатоков phpbb2 php и MySQL

Форум для авторов модов для phpBB 2.0.x.
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

Задумка:
Есть статистика для игровых серверов PsychoStats 3.1 .
Она считает много параметров, в том числе в % он лайн игрока на сервере.
Хочу сделать чтоб это поле (% он лайн) выводилось под аватаркой в профиле и в каждом топике. ( расположение это непроблема)

Что сделал сам:
Сделал в таблице phpbb_users поле user_id_online ( сделал все по аналогии с полем icq)
В этом поле пользователь будет указывать свой id в таблице от статистики PsychoStats

1запрос
так же во viewtopic.php по той же аналоги сделал запрос в базу к указанному юзером id
2 запрос
сделал запрос к базе от PsychoStats.

Проблема:
Не могу объеденить эти два запроса.
Если объеденяю - то во всех постах становится одно и то же значение.
при том если выводить первый запрос то он выводится правильно, согласну нужому полю user_id_online
( сложновато мне описать проблему, я в этом совсем новичек и пара книжек и интернет,пока что не всему научили)

Я думаю что проблема именно во viewtopic ( вернее в том что я там написал) все свои строки выделил
//%%%%%%%%%%%%%%%%
мой чайниковский код
//%%%%%%%%%%%%%%%%
Прилагаю файл.

Если кто то решитсья помчь, но не понял меня, пишите что не понятно, попытаюсь объяснить по подробнее....
Заранее благодарен вашему вниманию!
Не судите строго, знаю что этот код уязвимый и т.д. , я просто учусь, бился над проблемой долго и ни как не получается =(
моя icq 980500
Вложения
viewtopic.rar
(13.08 КБ) 364 скачивания
Последний раз редактировалось tavot 13.03.2009 18:57, всего редактировалось 1 раз.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

tavot
Не ну запросы конечно составлены смешно) я помогу исправить(попозже). Но вообще мне не очень нравится, то что юзер сам вводит айди.
Я в свое время (когда игрался с кс серверами) делал так: при регистрации на форуме автоматом регистрируется ник на кс сервере (в сети есть готовые решения), и на сам сервер пускает только зарегенных юзеров. В таком случае юзеру ниче вводить не надо было бы.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

tavot
Удалите из viewtopic.php весь свой код и выполните правки:

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

#FIND
//
// Go ahead and pull all data for this topic
//
$sql = "SELECT u.username, u.user_id

#IN-LINE FIND
pt.bbcode_uid

#IN-LINE AFTER ADD
, ps.activity

#FIND 
	FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt

#AFTER ADD
LEFT JOIN phpbb_ps_plr ps on ps.plrid = u.user_id_online

#FIND
	$poster_posts = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? $lang['Posts'] . ': ' . $postrow[$i]['user_posts'] : '';

#AFTER ADD
	$poster_cs_activity = ( $postrow[$i]['user_id'] != ANONYMOUS ) ? 'Активность: ' . $postrow[$i]['activity'] : '';

#FIND
		'POSTER_POSTS' => $poster_posts,

#AFTER ADD

		'POSTER_CS_ACTIVITY' => $poster_cs_activity,
Ну а дальше в viewtopic_body.tpl в нужном месте вставляете: {postrow.POSTER_CS_ACTIVITY}
Последний раз редактировалось Lektor 14.03.2009 17:50, всего редактировалось 3 раза.
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

Спасибо! теперь выводится, но есть огромное НО.
Если у пользователя не заполнено поле user_id_online то его постов в топике не будет.
вытекает вопрос:
Как сдлеать игнорирование вывода активности, если юзер не ввел ни каких данных?

Если брать аналогию с icq, то необходимо переделать под новый код, вот это:

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

		if ( !empty($postrow[$i]['user_icq']) )
		{
			$icq_status_img = '<a href="http://wwp.icq.com/' . $postrow[$i]['user_icq'] . '#pager"><img src="http://web.icq.com/whitepages/online?icq=' . $postrow[$i]['user_icq'] . '&img=5" width="18" height="18" border="0" /></a>';
			$icq_img = '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $postrow[$i]['user_icq'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a>';
			$icq =  '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $postrow[$i]['user_icq'] . '">' . $lang['ICQ'] . '</a>';
		}
		else
		{
			$icq_status_img = '';
			$icq_img = '';
			$icq = '';
		}

На сколько я понимаю( в своих совсем детских в мускуле и пихипи знаниях) необходимо сделать код:
Если пользователь поста N
1 указал свой user_id_online то выводим....
2 не указал ..id.. то ни чего не выводим.

Так?
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

Так ... исправил свой пост ... щас должно пахать :)
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

выдает ошибку:

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

Could not obtain post/user information.
DEBUG MODE
SQL Error : 1054 Unknown column 'u.user_id_online' in 'on clause'
Line : 483
File : viewtopic.php
=(
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

Ну а куда делась колонка "user_id_online" из в phpbb_users? Тока шож была )
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

Колонка в таблице?
она там есть.....
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

Приатач вьютопик.пхп
(код правильный, ошибки не вижу)
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

Вот вайлы.
там два файла
*4.php 1ый способ
*.php последний сопсоб.


в виевтоп4.php в первом запросе не ps.activiti , а просто activity .... это я пробовал методом научного тыка....
Вложения
viewtopic.rar
(25.19 КБ) 347 скачиваний
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

покажите мне скриншот шо в бд есть столбец user_id_online ))
tavot
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 1 месяц

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение tavot »

вот скрин =)
Вложения
id.JPG
Gosudar
phpBB 2.0.0
Сообщения: 227
Стаж: 18 лет 8 месяцев
Контактная информация:

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Gosudar »

SQL Error : 1054 Unknown column 'u.user_id_online' in 'on clause'

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

#FIND
   FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt

#AFTER ADD
LEFT JOIN phpbb_ps_plr ps on ps.plrid = u.user_id_online
забыл phpbb_ps_plr ps, т.е.
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt , phpbb_ps_plr ps
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 11 месяцев

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Lektor »

не... там не нужно..
Файлы глянул все правильно только не activity, а - ps.activity (ошибка правда с этим не связана)

..ну хорошо а какая версия мускула?
Других вариантов нет.. проверь конфиг.пхп, точно форум юзает таблицу "forum3"?
Gosudar
phpBB 2.0.0
Сообщения: 227
Стаж: 18 лет 8 месяцев
Контактная информация:

Re: Необходима помощь Знатоков phpbb2 php и MySQL

Сообщение Gosudar »

блин, вьевтопик, вьевтопик4... всё попуталось :)
по последнему варианту:

вот это
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt

попробуй заменить на
FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE . " pt, " . USERS_TABLE . " u
Закрыто

Вернуться в «Для авторов (phpBB 2.0.x)»