PDA

Просмотр полной версии : [Мануал] Запись нескольких значений в один столбец через запятую. [mysql r7]



Hidden
08.12.2013, 15:21
Запись нескольких значений в один столбец через запятую отделяет вас от создания кучи однотипных столбцов.

http://imgdepo.ru/id/i5551694

Ход действий:
1. Добавьте в массив с данными игрока (enum pInfo, например):

pSkills[60],
pSkill[5],

2. Запись данных о скилах (вставлять в паблик/сток, который производит сохранение игрока):

new text[60], string[150], query[200], sqlpass[16];
mysql_real_escape_string(PlayerInfo[playerid][pKey], sqlpass);
format(text, sizeof(text), "%i, %i, %i, %i, %i", PlayerInfo[playerid][pSkill][0],PlayerInfo[playerid][pSkill][1],PlayerInfo[playerid][pSkill][2],PlayerInfo[playerid][pSkill][3],PlayerInfo[playerid][pSkill][4]);
strmid(PlayerInfo[playerid][pSkills], text, 0, strlen(text), 60);
format(string, sizeof(string), "UPDATE `Accounts` SET `Key` = '%s',", sqlpass);
strcat(query,string,sizeof(query));
format(string, sizeof(string), " `Skills` = '%s'", PlayerInfo[playerid][pSkills]);
strcat(query,string,sizeof(query));
format(string, sizeof(string), " WHERE `Name` = '%s'", Name(playerid));
strcat(query,string,sizeof(query));
mysql_query(query, -1, 0, connectionHandle);

3. Выгрузка данных о скилах (вставлять в паблик/сток, который производит загрузку данных игрока из таблицы):

cache_get_field_content(0, "Skills", PlayerInfo[i][pSkills]);
sscanf(PlayerInfo[i][pSkills], "p<,>a<i>[5]",PlayerInfo[i][pSkill]);


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

rkv
19.12.2013, 19:07
Не обязательно R7 и на r5 можно

V[a]mPiR
04.03.2014, 16:56
Хорошая штука, пригодится для загрузки и сохранения оружия

DeimoS
04.03.2014, 17:08
Только не всегда такой способ лучше, чем, например, создание отдельной БД и выборка данных из неё по ключу. Да и читабельность в разы уменьшается (представьте, что у вас 1000 аккаунтов и вам надо в одном из них изменить одно из значений... В общем, анализируйте ситуацию всегда :)