Hey there everyone and @Gesior.pl / @slaw - I am having some troubles with the following queries due to TFS 1.X creating "guild_memberships" table to store information rather than having rank_id/guild_nick in players table. I've tried to replace
Query Section 1
Query Section 2
Whole Guilds.php [Gesior 2012 TFS 1.X]
<?phpif(!defined('INITIALIZED')) exit;if($action == 'login'){ if(che - Pastebin.com (https://pastebin.com/0My3uewi) (Too long for OTLand)
players
with guild_memberships
and guild_ranks
with rank_id
as that is how it is shown in the TFS 1.x db. But no luck - any help is greatly appreciated!Query Section 1
Code:
$guild_id = (int)$_GET['guild'];
$guildMembers = $SQL->query( 'SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild_id )->fetch( );
$allM = $SQL->query ('SELECT COUNT(1) as `people` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') AND online = 1')->fetch();
$sumav = $SQL->query ('SELECT SUM(`level`) as `level_sum`,AVG(`level`) as `level_avg` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ')->fetch();
$allM3 = $SQL->query ('SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ORDER BY `level` ASC LIMIT 1')->fetch();
$allM4 = $SQL->query ('SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ORDER BY `level` DESC LIMIT 1')->fetch();
$invite = $SQL->query( 'SELECT COUNT(`guild_id`) FROM `guild_invites` WHERE `guild_id` = '.$guild_id.'')->fetch( );
$vocations = array();
foreach($SQL->query('SELECT `vocation`, COUNT(`vocation`) AS `voc_count` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = ' . $guild_id . ') GROUP BY `vocation`') as $voc) {
$vocations[$voc['vocation']] = $voc['voc_count'];
}
$point = $SQL->query('
SELECT
`g`.`id` AS `id`,
`g`.`name` AS `name`,
SUM(`p`.`level`) AS `level`,
COUNT(`p`.`name`) AS `count`,
AVG(`p`.`level`) AS `average`,
MIN(`p`.`level`) AS `min`,
MAX(`p`.`level`) AS `max`
FROM `players` p
LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
WHERE `guild_id` = '.$guild_id.'
')->fetch();
Query Section 2
Code:
$allM5 = $SQL->query('
SELECT `p`.`name` AS `Name`,
`ps`.`value` AS `Sword`,
`p`.`maglevel`,
`p`.`experience`
FROM `players` AS `p`
JOIN `player_skills` AS `ps`
WHERE `ps`.`player_id` = `p`.`id`
AND `ps`.`skillid` = ' . $key . '
AND `rank_id`
IN(SELECT `id` FROM `guild_ranks` WHERE `guild_id` = ' . $guild_id . ') ORDER BY `Sword` DESC Limit 1 ')->fetch();
Whole Guilds.php [Gesior 2012 TFS 1.X]
<?phpif(!defined('INITIALIZED')) exit;if($action == 'login'){ if(che - Pastebin.com (https://pastebin.com/0My3uewi) (Too long for OTLand)
Last edited: