• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

[PHP] Top Fragers with storages

LucasFerraz

Systems Analyst
Joined
Jun 10, 2010
Messages
2,857
Reaction score
96
Location
Brazil
I have this page of Top Fragers, is possible to show storage instead of frags?

Explain: When player kill someone he receives storage 6776 +1(storage of frag)

PHP:
$main_content .= '<div style="text-align: center; font-weight: bold;">Top 30 frags on ' . $config['server']['serverName'] . '</div>
<table border="0" cellspacing="1" cellpadding="4" width="100%">
	<tr bgcolor="' . $config['site']['vdarkborder'] . '">
		<td class="white" style="text-align: center; font-weight: bold;">Name</td>
		<td class="white" style="text-align: center; font-weight: bold;">Frags</td>
	</tr>';

$i = 0;
foreach($SQL->query('SELECT `p`.`name` AS `name`, COUNT(`p`.`name`) as `frags`
	FROM `killers` k
	LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
	LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
	GROUP BY `name`
	ORDER BY `frags` DESC, `name` ASC
	LIMIT 0,30;') as $player)
{
	$i++;
	$main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '">
		<td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . $player['name'] . '</a></td>
		<td style="text-align: center;">' . $player['frags'] . '</td>
	</tr>';
}

$main_content .= '</table>';
 
PHP:
$main_content .= '<div style="text-align: center; font-weight: bold;">Top 30 storage of 6776 on ' . $config['server']['serverName'] . '</div> 
<table border="0" cellspacing="1" cellpadding="4" width="100%"> 
    <tr bgcolor="' . $config['site']['vdarkborder'] . '"> 
        <td class="white" style="text-align: center; font-weight: bold;">Name</td> 
        <td class="white" style="text-align: center; font-weight: bold;">Storage</td> 
    </tr>'; 

$i = 0; 
foreach($SQL->query('SELECT  `p`.`name` AS  `name` ,  `value` AS  `storagevalue` 
FROM  `player_storage` k
LEFT JOIN  `players` p ON  `k`.`player_id` =  `p`.`id` 
WHERE  `k`.`key` =6776
GROUP BY  `name` 
ORDER BY CAST(  `value` AS SIGNED ) DESC 
LIMIT 0 , 30;') as $player)
{ 
    $i++; 
    $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']) . '"> 
        <td><a href="?subtopic=characters&name=' . urlencode($player['name']) . '">' . $player['name'] . '</a></td> 
        <td style="text-align: center;">' . $player['storagevalue'] . '</td> 
    </tr>'; 
} 

$main_content .= '</table>';

=D, Ta Daa.
 
Thank you!
Rep++

I'm sorry but can you fix this too? S:
It's 'Most Powerfull Guilds' in latestnews
PHP:
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
`g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
FROM `killers` k
LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
GROUP BY `name`
ORDER BY `frags` DESC, `name` ASC
LIMIT 0, 4;') as $guild)
 
Last edited:
Thank you!
Rep++

I'm sorry but can you fix this too? S:
It's 'Most Powerfull Guilds' in latestnews
PHP:
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
`g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
FROM `killers` k
LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
GROUP BY `name`
ORDER BY `frags` DESC, `name` ASC
LIMIT 0, 4;') as $guild)

bump
 
Thank you!
Rep++

I'm sorry but can you fix this too? S:
It's 'Most Powerfull Guilds' in latestnews
PHP:
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
`g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
FROM `killers` k
LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
GROUP BY `name`
ORDER BY `frags` DESC, `name` ASC
LIMIT 0, 4;') as $guild)

Firstly, specify what you want to do with it.

Do you want to make a "Top 30 Guild Frags"?
if so.. then here.

PHP:
foreach($SQL->query('SELECT  `g`.`id` AS  `id` ,  `g`.`name` AS  `name` , COUNT(  `g`.`name` ) AS  `frags` 
FROM  `killers` k
LEFT JOIN  `player_killers` pk ON  `k`.`id` =  `pk`.`kill_id` 
LEFT JOIN  `players` p ON  `pk`.`player_id` =  `p`.`id` 
LEFT JOIN  `guild_ranks` gr ON  `p`.`rank_id` =  `gr`.`id` 
LEFT JOIN  `guilds` g ON  `gr`.`guild_id` =  `g`.`id` 
WHERE  `k`.`unjustified` =1
AND  `k`.`final_hit` =1
GROUP BY  `name` 
ORDER BY  `frags` DESC ,  `name` ASC 
LIMIT 0 , 30;') as $guild)
 
Pay me 100 Euros and i give you.

Lol Joke =).

PHP:
SELECT 
  g.id,
  g.name,
  SUM(k.value) AS total_storage
FROM
  player_storage k
  LEFT OUTER JOIN players p ON (k.player_id = p.id)
  LEFT OUTER JOIN guild_ranks gr ON (p.rank_id = gr.id)
  LEFT OUTER JOIN guilds g ON (gr.guild_id = g.id)
WHERE
  k.`key` = 11111
GROUP BY
  g.name
ORDER BY
  total_storage DESC,
  name asc

Roxor?
 
Don't works

this is the original code, frag
LUA:
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
`g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
FROM `killers` k
LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
GROUP BY `name`
ORDER BY `frags` DESC, `name` ASC
LIMIT 0, 4;') as $guild)
 
PHP:
foreach($SQL->query('SELECT 
  g.id,
  g.name,
  SUM(k.value) AS total_storage
FROM
  player_storage k
  LEFT OUTER JOIN players p ON (k.player_id = p.id)
  LEFT OUTER JOIN guild_ranks gr ON (p.rank_id = gr.id)
  LEFT OUTER JOIN guilds g ON (gr.guild_id = g.id)
WHERE
  k.`key` = 11111
GROUP BY
  g.name
ORDER BY
  total_storage DESC,
  name asc 
LIMIT 0, 30;') as $guild


You were ment to replace the query. but here you go.
 
It's not showwin' the numers of kills
PHP:
foreach($SQL->query('SELECT 
  g.id,
  g.name,
  SUM(k.value) AS total_storage
FROM
  player_storage k
  LEFT OUTER JOIN players p ON (k.player_id = p.id)
  LEFT OUTER JOIN guild_ranks gr ON (p.rank_id = gr.id)
  LEFT OUTER JOIN guilds g ON (gr.guild_id = g.id)
WHERE
  k.`key` = 6776
GROUP BY
  g.name
ORDER BY
  total_storage DESC,
  name asc 
LIMIT 0, 4;') as $guild  )
 
PHP:
foreach($SQL->query('SELECT 
`g`.`id` AS `id`, 
`g`.`name` AS `name`,
  SUM(k.value) AS `frags`
FROM
  player_storage k
  LEFT OUTER JOIN players p ON (k.player_id = p.id)
  LEFT OUTER JOIN guild_ranks gr ON (p.rank_id = gr.id)
  LEFT OUTER JOIN guilds g ON (gr.guild_id = g.id)
WHERE
  k.`key` = 6776
GROUP BY
  g.name
ORDER BY
  frags DESC,
  name asc 
LIMIT 0, 4;') as $guild  )

Try that, you will need to edit your php script to remove the NULL field.
 
Back
Top