Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patrique

[Resolvido] Apenas 5 tags

Recommended Posts

Fala ae galera, tenho um campo na tabela do meu db aonde são colocadas tags da seguinte forma

 

patrique, noticias, imasters, mulheres, programação, moto, carro, avião, shopping, café, coca cola

 

Notem que neste exemplo colocado tem 11 tags, eu queria saber como fazer o sistema trazer do bd e apresentar ao usuário apenas 5 tags, neste caso seria apresentado assim para o usuário

 

patrique, noticias, imasters, mulheres, programação

 

como eu poderia fazer isto?

 

desde já agradeço,

Patrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, entendi, fiz da seguinte maneira

 

<%
tagsdobd = "futebol, mulheres, programação, games, asp, php, sexo, forum, imasters"

tags = split(tagsdobd,",")
palavra = Split(tagsdobd,",",-1,1)

For i=1 to 5
  Response.Write palavra(i)
Next
%>

Valeu galera.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso eu não vou filtrar não, no caso as 5 vão ser sempre usados mais por espaço (5 linhas) eu so posso usar 5 por vez, o problema agora vai ser sortear como eu posso fazer o sorteio entre as palavras?

 

fiz uma modificação retirando os espaços e colocando link

 

<%
tagsdobd = "futebol, mulheres, programação, games, asp, php, sexo, forum, imasters"

tags = split(tagsdobd,",")
palavra = Split(Replace(tagsdobd," ",""),",",-1,1)

For i=1 to 5
  Response.Write("<a href=""" & palavra(i) & """>" & palavra(i) & "</a>")
Next
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

manda um desafio na proxima vez auahuha

 

tagsdobd = "futebol, mulheres, programação, games, asp, php, sexo, forum, imasters"
Randomize
tags = split(tagsdobd,",")
palavra = Split(Replace(tagsdobd," ",""),",",-1,1)

For i=1 to 5
  Response.Write("<a href=""" & palavra(i * Rnd) & """>" & palavra(i * Rnd) & "</a>   ")
Next

Compartilhar este post


Link para o post
Compartilhar em outros sites

heheheheeheh ai seria maneiro hein hauahahuauhauh

 

Mais neste caso ele repete os resultado olha o que ele me retornou

 

futebol futebol programação programação mulheres

como fazer para ele não repetir hehehehehe agora sim é desafio kkkkkk

 

huahauhuhahuaauhuhaauh fui fazer mais uns testes aqui e olha o que apareceu na outra tentativa

 

mulheres mulheres mulheres mulheres mulheres

rsrsrsrsrsrsrs, taradona esta rotina ehehueheeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

quer usar I.A. tbm não????

 

ele sempre vai repetir, mais ai, é melhor você fazer conjunto de possibilidades e chamar cada possibilidade em um array!!

 

na mão grande...

 

ou usa um IF para a quantidade do array não ser mais de uma!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uahuahuahauhuhua

 

vou ver o que faço aqui hehehe tenho uma lógica na mente não sei se vai funfar mais vou tentar.

 

Valew Ted, quebrou mais uma hein!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você trabalhando com array, acredito k terá mais êxito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, agradeço a ajuda ae pessoal a questão é a seguinte, até o momento estou com este code

 

<%
tagsdobd = "um, dois, três, quatro, cinco, seis"
tagsdobd = Replace(tagsdobd,", ",",")

tags = split(tagsdobd,",")

If UBound(tags) < 5 then
  numeral = UBound(tags)
Else
  numeral = 5 - 1
End if

For i = 0 to numeral
  Response.Write("<a href=""" & tags(i) & """>" & tags(i) & "</a><br />")
Next
%>

coloquei if else pois caso o registro no bd tenha menos de 5 tags o sistema não de erro.

 

Da atual maneira as tags no array são

 

um, dois, três, quatro, cinco, seis, sete, oito

 

pelo code acima o resultado que me é apresentado é sempre

 

um

dois

três

quatro

cinco

 

é ae que esta a questão, como eu mandei a função so mostrar 5 o code esta apenas me mostrando os 5 primeiros registros, o restante que neste exemplo é (seis, sete e oito) sempre fica de fora, mais no caso eu gostaria que estes resultados apresentados fossem aleatórios mais entre todas as tags cadastradas, desta forma os resultados a cada hora sairiam mais ou menos assim

 

cinco

oito

um

quatro

seta

 

Ta vendo, foi sorteado entre todas as tags, dai o sistema so joga 5 randomizadas para o usuário, já tentei aqui utilizar o randomize em todos os cantos, mais não funfou.

 

Em relação a sua dica ted eu não consegui pois não entendi hehehehe vou seguir tentando aqui, mais se alguém ae tiver alguma solução ou puder me ajudar eu ficarei grato.

 

Obrigado pela ajuda.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

adapta esta funcaun nele ai...

 

Function aleatorio(quantidade)
	numero = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N" ,"O","P","Q","R","S","T","U","V","W","X","Y","Z", "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p", "q","r","s","t","u","v","w","x","y","z","1","2","3","4" ,"5","6","7","8","9","0")
	Randomize
	do while len(senha) < quantidade
		num = numero(Int(ubound(numero) * Rnd ))
		senha = senha + num 
	loop 
	aleatorio = Trim(senha)
end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função que o Xan postou é boa, mas precisa de uma adaptação (conforme ele disse) para não criar repetições.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, tem uma solução, mas é meio "burra"

Você cria 2 arrays, um puxando as tags do BD.

Outro vazio...

 

Ai você vai pegar...

 

Tem N tags...

 

'tagsdobd = rs("tags")
'tagsdobd = "um,dois,tres,quatro,cinco,seis,sete,oito,nove,dez,onze"
tagsdobd = "um,dois,tres,quatro"
tags = split(tagsdobd,",")
mostrar = 5
max = mostrar
dim usados()
redim usados(mostrar)
for x=1 to mostrar
	usados(x) = ""
next
qtd = UBound(tags)
if max > qtd then : max = qtd : end if
counter = 0
do until counter = max + 1
	randomize
	pos = Round(rnd * qtd,0)
	usado = false : y =0
	for x=1 to mostrar
		if pos = usados(x) then
			usado = true
		elseif usados(x) = "" then
			y=x
		end if
	next
	if usado = false then
		usados(y) = pos
		counter = counter + 1
	end if
loop
for k=1 to mostrar
	if usados(k)<>"" then
		response.write k & ":" & tags(usados(k)) & "<br>"
	end if
next

 

Pra ser sincero....

 

Estou precisando de uma ajuda aqui no fórum.... Neste Topico

Enquanto não vem a resposta que eu preciso, decidi ajudar o povo daqui....

 

Esse código, eu acabei de gerar pra você, testei e funcionou....

 

Mas não me pergunte exatamente como fiz para gerar ele, que foi testando, errando e acertando, até que, vuala, funcionou 100%.....

 

Se você já tinha conseguido, ótimo, mas devia ter postado a solução, se não, tente esse código.

 

de qualquer forma, fica aí pra quem precisar !!!

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, brigadão Erick, funfou belezinha aqui na verdade eu utilizei o código que o ted me ajudou a montar, na verdade eu limitei o uso no sistema de tags, deixei apenas 5 pois também não tinha necessidade de deixar mais que 5, porém este code que você me passou vai ajudar bastante, show de bola, brigadaço!

 

fico te devendo uma.

 

e tomara que consigam te ajudar no tópico da sua dúvida, olhei lá e não sei nem o que significa blob por isso não vai da pra retribuir, mais boa sorte.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.