PDA

Просмотр полной версии : [Вопрос] Вопрос профессионалам



PawnoNoob
30.07.2016, 19:36
Приветствую, снова. :i-m_so_happy: Сразу хочу написать (даже напомнить) о том, что я ещё изучаю Pawno и многого не знаю, поэтому задаю свои глупые вопросы Вам. Возможно, Вы зададите такой вопросик: "какой тебе мод с нуля, если ты элементарного не знаешь?". Отвечу, что я учу не тупо читая учебники по программированию, а при этом что-то делаю по этим урокам.

Ну да ладно, это лишь лирическое отступление. Вчера решил начать писать саму систему регистрации без учебников, уроков по созданию чего-либо, а сам, своими кривыми (:grin:) руками. По мере написания самой системы я задумался и задал себе вопрос: "А как я буду выгружать данные из базы после регистрации?" и, в общем, немного затупил и решил задать Вам вопрос.

На данный момент у меня есть примерно такой сток создания аккаунта:

stock название(playerid)
{
...
запрос о внесении данных о скине, поле и так далее. (mysql_function_query(mysql, название переменной, false, "", "");)
загрузка всех данных из форварда, который также будет использоваться при авторизации.
...
}
Так вот, теперь сам вопрос: нормальной ли будет такая вот система регистрации с двумя запросами? Или есть какой-то способ проще? В самой регистрации всё отлично работает, все данные загружаются.

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

$continue$
30.07.2016, 20:33
Не совсем понятен вопрос, но если Вы о том как выгружать данные из базы, то лучше выгружать после авторизации все сохраненные данные.

Redsan
30.07.2016, 20:41
Ну начнем с того что "pawno" - это название компилятора. А вот "pawn" - это язык программирования.
При регистрации не обязательно получать все данные вторым запросом. Я обычно получаю лишь id созданного столбца(номер аккаунта). А остальными данными заполняю массив при регистрации(скин, пол и т.д.). Также надо не забывать обнулять данные игроков при выходе/входе с сервера. А вот при авторизации я уже получаю все данные.

PawnoNoob
30.07.2016, 21:24
Не совсем понятен вопрос, но если Вы о том как выгружать данные из базы, то лучше выгружать после авторизации все сохраненные данные.

Ну вот, объясню ещё раз: после регистрации аккаунта все данные (номер аккаунта, имя, пароль, адрес электронной почты, пол, идентификатор скина, информация об IP-адресах) вносятся через mysql_function_query(mysql, название переменной, false, "", ""); (именно false), при этом в базе данных имеются некоторые значения, которые есть по умолчанию (уровень, количество очков опыта и так далее), их, по сути, не нужно было пихать в тот запрос, потому что от этого толку нету, при выполнении запроса они добавятся сами и значения будут равны автоматическим.

После всего этого дела я сделал ещё один запрос, который выгружает все данные об аккаунта из базы данных и выглядит примерно так:

SELECT * FROM accounts WHERE id = '%i'
mysql_function_query(mysql, название переменной, true, "Название форварда загрузки данных"....);
Этот форвард я хочу использовать не только для регистрации, но и для авторизации, поэтому и появился такой вопрос.
Нормально ли будет так?

$continue$
30.07.2016, 21:27
Вполне нормально. Почему бы и нет?

ziggi
30.07.2016, 22:00
Ну начнем с того что "pawno" - это название компилятора. А вот "pawn" - это язык программирования.

Не правда, Pawno - это название текстового редактора, а вот pawncc - это название компилятора.

Redsan
30.07.2016, 22:05
Не правда, Pawno - это название текстового редактора, а вот pawncc - это название компилятора.

Да, ошибся :good:

PawnoNoob
30.07.2016, 22:13
Не правда, Pawno - это название текстового редактора, а вот pawncc - это название компилятора.

В принципе, это не так уж и важно. Но Вы как считаете, нормальной ли будет та система, о которой я написал выше? :good:

ziggi
30.07.2016, 22:27
В принципе, это не так уж и важно.

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


Но Вы как считаете, нормальной ли будет та система, о которой я написал выше? :good:

Для кого-то нормальной, но я бы обошёлся одним запросом.

P.S. Для подобных вещей я рекомендую использовать механизм ORM, это значительно упростит и ускорит работу с данными. Пример системы регистрации с ORM можно посмотреть здесь (https://gist.github.com/ziggi/ef37b916efd7ced12b99).

PawnoNoob
30.07.2016, 22:31
Да, но раз человек решил поправить, то пусть исправление будет корректным.



Для кого-то нормальной, но я бы обошёлся одним запросом.

P.S. Для подобных вещей я рекомендую использовать механизм ORM, это значительно упростит и ускорит работу с данными. Пример системы регистрации с ORM можно посмотреть здесь (https://gist.github.com/ziggi/ef37b916efd7ced12b99).

Ну, это уже для меня слишком сложно, поэтому, пожалуй, обойдусь этими двумя запросами.
Всем спасибо за помощь, темку можно прикрывать. :dance4::give_heart: