Ir para conteúdo

POWERED BY:

Arquivado

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

asdruboows

Peso para exibição... (Logica)

Recommended Posts

Estou montando um sistema para exibir imagens...E como todo sisteminha desse tipo preciso que uma determinada imagem aparece mais que outra.Eu coloquei um campo "peso" e um "exibicao" onde o peso é um número fixo (0 ou 5 ou 10), e exibicao é onde eu atualizo somando (1) a cada vez que mostra a imagem.Mas o campo peso só ajuda quando as exibicoes são iguais...Eu quero na realidade é fazer ;imagem1 (peso=5, exibicao=0)imagem2 (peso=10, exibicao=0)Como fazer a imagem (2) aparecer 5 vezes mais que a (1)?Alguém já fez?Sabe algo sobre "peso" de exibicao?Desde já obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é...mas como fazer um "vetor" que seja usado por outros?exemplo:faço o vetor, mas a cada um que entrar na página um tem que sair...Ai é que fica o problema... Se fosse em uma só "sessão" maravilha...Mas como passar os valores para outras?Alguém já fez isso aqui?Jogando em uma aplication rola?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá, segue a lógica, que é o mais importante e que pode ser adaptado para muitas outras opções em que você deseja criar uma randomização controlada. Essa sugestão é inválida para GRANDES NUMEROS DE IMAGENS porque gera um stress alto no bd. O código é contigo desenvolver:

 

Cria duas tabelas:

- uma para armazenar o total de exibição de todas as imagens

- uma para armazenar nome da imagem, percentual de exibição (um número que você vai informar), total de vezes exibidas, ultima vez exibida, total de vezes exibidas (o sistema calcula), diferencial de exibição ( percentual que deve ser exibido - percentual que foi exibido).

 

A função de exibição de imagem:

 

Primeiro ela lista as imagens em ordem decrescente (os maiores primeiro) de diferencial de exibição. E vai pegando os primeiros da lista. Exibe a imagem e atualiza a contagem de exibição tanto geral quanto da imagem. E assim vai.

 

Um exemplo prático:

 

Voce tem 2 imagens:

img1 - voce quer que ela apareca 70% das vezes

img2 - voce quer que ela apareca 30% das vezes

 

a img1 apareceu 10.000 vezes

a img2 apareceu 5.000 vezes

 

Total exibição imgs : 15.000

 

Pelos numeros você ve que a img1 apareceu 66,67% ( e tem de ser 70%) e a img2 33,33%. (e tem de ser 30%, ou seja, apareceu mais do que devia)

 

A função , ao pesquisar ordenando por diferencial de exibição vai mostrar:

 

img1 - 3,33%

img2 - (-3,33%) - o resultado negativo implica que foi exibido mais do que determinado.

 

Então o sistema , vai dando preferencia à img1 e vai exibindo-a até igualar o exibido com o desejado. O proprio sistema auto ajusta-se.

 

Divirta-se

 

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.