Код:
QueryResult *result = WorldDatabase.Query("SELECT refer_id, referral_id1, referral_id2, referral_id3, referral_id4, referral_id5, grantable_levels FROM refer_a_friend_table");
судя по коду атрибут grantable_levels должен быть в таблице characters.
Тут учитывается такие факта:
1. уровень другу можно поднять только до 60 уровня
2. аккаунты могут быть связаны только на 3 месяца ?
а вообще желательна такая таблица в БД realmd
PHP код:
CREATE TABLE `account_friend` (
`id` int(11) unsigned NOT NULL default '0',
`friend_id` int(11) unsigned NOT NULL default '0',
`binding_date` bigint(40),
`expires_date` bigint(40),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Получение списка персонажей друзей
PHP код:
SELECT guid, level
FROM characters
WHERE account IN (SELECT friend_id FROM account_friend WHERE id = <id_аккаунта> AND expires_date < <текущая_дата>);