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

Форум для авторов модов для phpBB 2.0.x.
tavot
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 13.03.2009 17:02

Задумка:
Есть статистика для игровых серверов 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 КБ) 257 скачиваний
Последний раз редактировалось tavot 13.03.2009 18:57, всего редактировалось 1 раз.

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 15:36

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

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 17:10

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
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 14.03.2009 17:21

Спасибо! теперь выводится, но есть огромное НО.
Если у пользователя не заполнено поле 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
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 17:51

Так ... исправил свой пост ... щас должно пахать :)

tavot
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 14.03.2009 17:56

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

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

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
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 18:07

Ну а куда делась колонка "user_id_online" из в phpbb_users? Тока шож была )

tavot
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 14.03.2009 18:12

Колонка в таблице?
она там есть.....

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 18:25

Приатач вьютопик.пхп
(код правильный, ошибки не вижу)

tavot
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 14.03.2009 18:31

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


в виевтоп4.php в первом запросе не ps.activiti , а просто activity .... это я пробовал методом научного тыка....
Вложения
viewtopic.rar
(25.19 КБ) 254 скачивания

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 20:22

покажите мне скриншот шо в бд есть столбец user_id_online ))

tavot
phpBB 1.0.0
Сообщения: 8
Зарегистрирован: 18.02.2009 11:29

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

Сообщение tavot » 14.03.2009 20:37

вот скрин =)
Вложения
id.JPG

Gosudar
phpBB 2.0.0
Сообщения: 227
Зарегистрирован: 16.07.2005 23:10
Контактная информация:

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

Сообщение Gosudar » 14.03.2009 20:54

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
Зарегистрирован: 20.04.2006 15:19

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

Сообщение Lektor » 14.03.2009 20:55

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

..ну хорошо а какая версия мускула?
Других вариантов нет.. проверь конфиг.пхп, точно форум юзает таблицу "forum3"?

Gosudar
phpBB 2.0.0
Сообщения: 227
Зарегистрирован: 16.07.2005 23:10
Контактная информация:

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

Сообщение Gosudar » 14.03.2009 21:05

блин, вьевтопик, вьевтопик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)»