Postado Setembro 4, 2019 6 anos [Ja resolvi] Olá. Eu gostaria de fazer, na lateral do meu site, aparecer o top 5 do meu ranking de quests feitas. Pra facilitar, eu ja tenho um modelo do top 5 level (que aparece certinho), mas não sei que partes alterar pra ele pegar os dados da coluna de quests e ordenar certinho. Segue o top 5 level (cortei o que não tinha relação com o level pra ficar mais facil de encontrar o que eu preciso): <?php if(!defined('INITIALIZED')) exit; $cacheSec = 30; $cacheFile = 'cache/topplayers.tmp'; if (file_exists($cacheFile) && filemtime($cacheFile) > (time() - $cacheSec)) { $topData = file_get_contents($cacheFile); } else { $topData = ''; $i = 0; foreach($SQL->query("SELECT `name`, `level` FROM `players` WHERE `group_id` < 2 AND `account_id` != 3 ORDER BY `level` DESC LIMIT 5")->fetchAll() as $player) { $i++; $topData .= '<tr><td style="width: 80%"><strong>'.$i.'.</strong> <a href="?view=characters&name='.urlencode($player['name']).'">'.$player['name'].'</a></td><td><span class="label label-primary">Lvl. '.$player['level'].'</span></td></tr>'; } file_put_contents($cacheFile, $topData); } ?> <div class="panel panel-default"> <div class="panel-heading"> <span class="panel-title text-info fw700"><img src="https://www.tibiawiki.com.br/images/d/da/Badge_of_Glory.gif" alt="" style="width:32; height:32px;"/> Top 5 Level</h3></span> </div> <div class="panel-body"> <table class="table table-condensed table-content table-striped"> <tbody> <?php echo $topData; ?> </tbody> </table> </div> O número de quests feitas pelo player se encontra na coluna "quests_feitas" na tabela "players" da database teste. Podem fechar o tópico. Já consegui. Para quem quiser a solução, ficou assim: $cachequestSec = 30; $cachequestFile = 'cache/topquestplayers.tmp'; if (file_exists($cachequestFile) && filemtime($cachequestFile) > (time() - $cachequestSec)) { $topquestData = file_get_contents($cachequestFile); } else { $topquestData = ''; $i = 0; foreach($SQL->query("SELECT `name`, `quests_feitas` FROM `players` WHERE `group_id` < 4 AND `account_id` != 3 ORDER BY `quests_feitas` DESC LIMIT 5")->fetchAll() as $player) { $i++; $topquestData .= '<tr><td style="width: 80%"><strong>'.$i.'.</strong> <a href="?view=characters&name='.urlencode($player['name']).'">'.$player['name'].'</a></td><td><span class="label label-primary">Quests: '.$player['quests_feitas'].'</span></td></tr>'; } file_put_contents($cachequestFile, $topquestData); } <div class="panel panel-default"> <div class="panel-heading"> <span class="panel-title text-info fw700"><img src="https://www.tibiawiki.com.br/images/d/da/Badge_of_Glory.gif" alt="" style="width:32; height:32px;"/> Top 5 Quests</h3></span> </div> <div class="panel-body"> <table class="table table-condensed table-content table-striped"> <tbody> <?php echo $topquestData; ?> </tbody> </table> </div> </div> Basicamente adicionei essas 2 partes e criei um cache file "topquestplayers.tmp" Editado Setembro 4, 2019 6 anos por MatCollier (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.