Перейти к публикации
Дизайн и модификация Invision Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
nf1975

Изменение пути к ячейке в mysql

Рекомендованные сообщения

Добрый день.

Создал дополнительное поле в профиле и регистрации, содержание его находится в таблице pfields_content и ячейке field_4. Необходимо изменить путь этого поля в таблицу members, ячейку field_4(создано). Сам убил много времени, но на так ничего не вышло. Насколько я понял, нужно добавить добавить дополнительный параметр специально для field_4 и изменить несколько .php файлов, прошу подробнее разъяснить что и где.

Поделиться сообщением


Ссылка на сообщение

Переписать полфорума. А ради чего? Вы не знаете про JOIN statements? Или что?

Поделиться сообщением


Ссылка на сообщение
08/25/12 12:45 (изменено)

Переписать полфорума. А ради чего? Вы не знаете про JOIN statements? Или что?

Можно подробнее про JOIN statements? Как я понял, это и есть сложные mysql запросы, я это переделывал в самой системе авторизации, но бесполезно. Можно показать на моём примере?

Ради чего?

Имеется игровой сервер с авторизацией, он берет логин, пароль и т.д. из таблицы members, но в самой игре поддерживается логин только с англ букв, сама система авторизации написана на java + php, сложные mysql запросы(в одном запросе коннект сразу в две таблицы) не работают.

Изменено пользователем nf1975

Поделиться сообщением


Ссылка на сообщение

http://ru.wikipedia.org/wiki/Join_(SQL)

 

сложные mysql запросы(в одном запросе коннект сразу в две таблицы) не работают.

Просто вы их не умеете готовить. Запрос данных из двух таблиц это еще не сложные запросы.

Поделиться сообщением


Ссылка на сообщение

http://ru.wikipedia.org/wiki/Join_(SQL)

 

 

Просто вы их не умеете готовить. Запрос данных из двух таблиц это еще не сложные запросы.

Они так называются, там необходимо было переделать пару строк, после этого всё авторизуется но в самой java при обновлении обрыв.

Поделиться сообщением


Ссылка на сообщение

Ну используйте тогда простые запросы, если у вас "сложные" не получается составить. Переписать пол форума ради того, чтобы не юзать джоинов, или не делать один доп запрос - полный абсурд.

Поделиться сообщением


Ссылка на сообщение

Ну используйте тогда простые запросы, если у вас "сложные" не получается составить. Переписать пол форума ради того, чтобы не юзать джоинов, или не делать один доп запрос - полный абсурд.

Повторяю, сложные запросы составлены правильно, проблема в самой java, как исправить там я вообще не понимаю, тут не нужно переписывать весь форум, меньше 15 файлов, я просто просил помощи указать как и какие файлы и строки именно.

Поделиться сообщением


Ссылка на сообщение

Повторяю, сложные запросы составлены правильно, проблема в самой java

Обратитесь к специалистом по джаве, зачем заниматся говнокодингом в форуме, который заранее обречен на провал? Вам же говорят - нужно переписать пол форума, т.е. это так просто не делается. Тем более вам, судя по просьбе "подсказать" как и какие именно файлы.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

1. Если у вас форум - ведущий, а игра - ведомая, то просто задайте в настройках форума ограничения набора допустимых для ника символов. Разрешите только латницу - и дело с концом, можно смело брать форумные логины.

 

2. Если у вас не такая схема, а пользователь сам создает (задает?) и меняет свой аккаунт в игре по отношению к постоянному аккаунту форума, но, пожалуй, действительно, удобнее всего использовать дополнительное поле профиля. Выбирать поля можно и в один запрос, без дозапросов из других таблиц. Просто используйте join (могли бы и нагуглить, что это):

SELECT m.name, m.email, m.members_pass_hash, m.members_pass_salt, p.field_4 FROM members m LEFT JOIN pfields_content p ON p.member_id = m.member_id WHERE m.email = '123@456.78' AND p.field_4 = 'vasya';

 

Вы, кстати, в курсе, что у IPB не простой, а хитро подсоленный md5 для паролей используется?

 

3. Если запрос ваша игра может сделать только один и только к одной таблице, пишите отдельный хук. Дополните табличку members дополнительными полями с данными игрового аккаунта и добавьте интерфейс к панели пользователя с управлением аккаунтом. Необходимый API для этого существует.

 

Беспроблемно переписать систему дополнительных полей форума у вас не получится. Это потребует действительно большой работы и длительной отладки, а не "пару строк поменять". Зато любой из описанных вариантов решит вашу задачу. Вот только, судя по контексту, вы, увы, не разбираетесь ни в PHP, ни в JAVA...

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

Спасибо за хорошо изложенный ответ. С java я действительно только недавно начал работать, в php всё отлично, авторизация у меня отлично работает только с англ никами, на счёт хеша я знаю(md5(md5($salt).md5($password));)

Попробую вашим способ, т.к. я пытался сделать так:

mysql_query("Select $db_columnUser From $db_table, $db_table2 Where $db_columnUser='$user' And $db_columnServer='$serverid'") ;

где columnUser в db_table2, но java не хотела корректно воспринимать этот запрос, возможно ваш метод поможет.

 

Обратитесь к специалистом по джаве, зачем заниматся говнокодингом в форуме, который заранее обречен на провал? Вам же говорят - нужно переписать пол форума, т.е. это так просто не делается. Тем более вам, судя по просьбе "подсказать" как и какие именно файлы.

В сам код IPB я никогда раньше глубоко не лез, к примеру в DLE это делалось очень просто, как и в joomla, в самом движке я нашел несколько файлов, в которых есть название этой таблицы и ячейки, я считал, что здесь будет проще, но раз необходимо переписывать весь форум - буду копать со стороны скрипта.

Поделиться сообщением


Ссылка на сообщение

Разрешите только латницу - и дело с концом, можно смело брать форумные логины

Так вот значит к чему здесь "логин и пароль". А я все голову ломал, причем тут система авторизации и дополнительное поле. Автор хочет его использовать как логин к игре. @nf1975, как нужно правильно задавать вопросы.

 

ТС, а если там окажутся два пользователя с одинаковыми именами? Ведь дополнительные поля не считаются уникальными полями.

Поделиться сообщением


Ссылка на сообщение

Так вот значит к чему здесь "логин и пароль". А я все голову ломал, причем тут система авторизации и дополнительное поле. Автор хочет его использовать как логин к игре. @nf1975, как нужно правильно задавать вопросы.

 

ТС, а если там окажутся два пользователя с одинаковыми именами? Ведь дополнительные поля не считаются уникальными полями.

Хм, над этим не подумал, возможно сделаю для авторизации вместо логина - мыло или действительно только латиницу разрешу использовать в логине.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...