Jump to content


Photo

Contagem De Cidades Iguais


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

#1 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 05/04/2007, 15:42

Tô com um problema aqui.

Quero contar as cidades de uma array, mas essa array é variável, ou seja, pra contar os elementos que são iguais eu teria que usar um For... Next, e caso a variável "var<nome_da_cidade>" não existir, criar ela. Caso existir, acrescentar + 1.

Mas como faço isso?
Eu pensei em algo assim:

<% 
cidade = Array("Porto Alegre", "porto alegre", "PORTO ALEGRE", "mato grosso", "mato grosso")
response.write "<BR>---------------------<BR>"

For Each x in cidade

if Eval("var" & x) <> "" then
Eval("var" & x) = Eval("var" & x) + 1
else
Eval("var" & x) = 1
end if

next
%>

Claro que tá faltando um modo de imprimir o resultado das variáveis geradas... mas isso nem idéia de como faço. Além do que dá erro esse código, erro de sintaxe inválida.

O que tá erro? Como faço isso?
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#2 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 05/04/2007, 16:15

para contar elementos iguais vc faz assim

response.write Filter( cidade , "Porto Alegre", true, vbTextCompare )
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#3 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 05/04/2007, 16:46

Opa, valeu o retorno.. mas vou precisar de um empurrão a mais pra deslanchar aqui.

Seguinte, eu peguei isso e fiz isso:

For Each x in cidade

Eval("var" & x) = Filter(cidade, x, true, vbTextCompare)

Next

Acontece que não sei se isso é válido e também acho que não daria o resultado esperado (por mais que fosse válido), já que ia repetir o nome das variáveis (e eu gostaria de exibir apenas o nome e o resultado - quantidade de aparições).

Ex:

PortoAlegre = 3
matogrosso = 2
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#4 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 05/04/2007, 17:10

<%

varTags = Array("Porto Alegre", "porto alegre", "PORTO ALEGRE", "Porto Alegre", "mato grosso", "mato grosso")



Function RemDups(ByVal anArray)

	Dim d, item, thekeys



	Set d = CreateObject("Scripting.Dictionary")

	d.removeall

	d.CompareMode = 0

	For Each item In anArray

		If Not d.Exists(item) Then d.Add item, item

	Next

	thekeys = d.keys

	Set d = Nothing

	RemDups = thekeys

End Function



novo	= RemDups( varTags )



for tag = 0 to ubound( novo )

	contaIgual  = Filter( varTags, novo( tag ), true, vbTextCompare )



	response.write novo( tag ) &" - "& ubound( contaIgual ) + 1 &"<br>"			 

next

%>

* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#5 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 05/04/2007, 17:28

Hmmm funcionou muito bem! valeuzão!!

Gostei desse objeto, tava lendo sobre ele no w3schools, quando persistiu uma dúvida:

E se a pessoa coloca "Buenos Aires" ao invés de "BsAs" por exemplo, tem forma de eu associar usando esse objeto? Pq eu vi aquele d.Add "nr", "Noruega" por exemplo e tava pensando em dinamicamente fazer esse processo. Tem como? Ou teria que ser manualmente mesmo?

outra coisa interessante seria mudar a ordem dos resultados (mas isso não achei lá)

Edição feita por: Firehalk, 05/04/2007, 17:28.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#6 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 05/04/2007, 17:42

cara não saberia te responder...

meu conhecimento parou um pouco por ai :(
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#7 Sollos

Sollos

    Normal

  • Usuários
  • 61 posts
  • Sexo:Masculino
  • Localidade:NI/RJ

Posted 06/04/2007, 01:50

O Objeto Dictionary é bom, mas com muitas chaves se torna pesado.

Se a lista passar de 50-100 itens, acho que seria melhor até mesmo uma busca linear.

[]'s

#8 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 07/04/2007, 18:06

tem exemplo Sollos? (a)

tb queria aprender.. hehe
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#9 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 10/04/2007, 17:48

tô curioso também agora :)

e aproveitando o tópico: finalmente consegui mexer no código e deixar no caminho de como eu quero. Acontece que os resultados aparecem sem ordem alguma (ou melhor, eu posso definir ordem pelo order by, mas de nada me adianta já que a contagem é feita depois da instrução SQL).

Quero por ordem de resultados (decrescente)

AJUDA!

Edição feita por: Firehalk, 10/04/2007, 17:49.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.




0 user(s) are reading this topic

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

IPB Skin By Virteq