Jump to content


Photo

Ajuda Para Ordenar "ranking".


  • Faça o login para participar
2 replies to this topic

#1 bartwoo

bartwoo

    Turista

  • Usuários
  • 28 posts
  • Sexo:Não informado

Posted 21/09/2007, 12:29

Olá.
Estou fazendo um novo website para meu servidor.
E nele inclúi um ranking de times, no caso, guilds.

Como o servidor não fui eu que fiz, eu peguei ele pronto (restore database) e coloquei online.
Então, não tive a oportunidade de organizar as tabelas de uma forma melhor.

Que seja, com o PHP, nada é impossível.

Então vamos ao que interessa!.
O ranking será ordenado por Nome, Score, que até agora foi fácil.
Porem também desejo ordenar o ranking pela soma de Resets que os jogadores tem na guild.
Então teremos 3 tabelas para relacionar.
Character (Informações dos characters)
Guild (Informações da guild [Nome, Score])
GuildMember (Membros das guilds da tabela Guild)

Já consegui pegar a soma dos resets e colocar no ranking, o que não consegui, foi ordenar por resets.
Segue o código:
$ranking = mssql_query("Select TOP $top G_Name = Guild.G_Name,G_Mark,G_Master,G_Score,G_Notice from Guild LEFT JOIN GuildMember on 'Guild.G_Name'='GuildMember.G_Name' order by $tipo $ordem");
		  for($i=0;$i < $top;++$i)
			{
				if(($i % 2) == 1) $fundo="#535353";
   				else $fundo="#434343";
					$row = mssql_fetch_row($ranking);
					$logo = urlencode(bin2hex($row [1]));
					$membros2 = mssql_query("Select count(*) from GuildMember WHERE G_Name='$row[0]'");
					$membros = mssql_fetch_row($membros2);
					$membroonline2 = mssql_query("Select count(*) from GuildMember join AccountCharacter on Guildmember.Name = AccountCharacter.GAMEIDC join MEMB_STAT on AccountCharacter.Id = MEMB_STAT.memb___Id WHERE G_Name='$row[0]' and MEMB_STAT.ConnectStat=1");
					$membroonline = mssql_fetch_row($membroonline2);
					$membrobanido2 = mssql_query("Select count(*) from GuildMember join Character on Guildmember.Name =Character.Name WHERE G_Name='$row[0]' and Character.CtlCode=1");
					$membrobanido = mssql_fetch_row($membrobanido2);
					$sumresets = mssql_query("SELECT sum(Resets) FROM GuildMember join Character on Guildmember.Name =Character.Name where G_Name='$row[0]'");
				/* Aqui vai os resultados, que não acho necessário colocar. */
................

Quem puder me ajudar explicando como eu faço para ordenar pela soma de resets, eu ficaria feliz.

Abraços, e obrigado.

Ninguem sabe? ''/

Edição feita por: bartwoo, 20/09/2007, 16:43.


#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 22/09/2007, 07:43

Você não pode fazer o join que faz na query da soma de resets na query principal? Não entendi bem o esquema das tabelas...

Pra ordernar no PHP você teria que colocar os dados num array de modo a ordená-lo pelo valor do nº de resets.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 bartwoo

bartwoo

    Turista

  • Usuários
  • 28 posts
  • Sexo:Não informado

Posted 22/09/2007, 11:08

Eu não sei.
>.<
Acho que pode ser tudo em uma query só sim.
Mas não sei mecher com array não. ''/
Valeu.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq