Ir para conteúdo

POWERED BY:

Arquivado

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

WictorP

Sorteio

Recommended Posts

Estou querendo fazer uma espécia de sorteio, como de um amigo chocolate ou oculto, feito por papel normalmente...

 

Só que eu quero fazer dessa forma:

 

Os participantes se registram e os dados são salvos na Data Base, ai um administrador clica em sortear, e os registrados são misturados fazendo o sorteio como o de papel, cada um com seu "amigo oculto"...

 

O registro já fiz o bang do admin também, estou apenas com problema sobre o sorteio, queria apenas uma luz de como fazer...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além daqui, você tento fazer algo? ou pesquisar sobre o assunto?

 

Uma ideia de como fazer:

qntMax = valor_max_db
qntVzesSorteados = qntMax / 2

for( x ate qntVzesSorteados ){
  sorteia = true
  While( sorteia )
  {
   primeira_pessoa = rand(0,qntMax)
   segunda_pessoa = rand(0,qntMax)
   if( primeira_pessoa != segunda_pessoa ){
      sorteia = false
   }
   //Assim que chegar nos 2 ultimos, terá que ter uma verificação para ver se eles
   //são iguais. Caso for, terá que ser sorteado tudo de novo.
   //----------------
   //Caso uma pessoa possa tirar ela mesma no sorteio, 
   //essa verificação não haverá necessidade e 
   //também não irá precisar verificar -> if( primeira_pessoa != segunda_pessoa )
  }
  //Sortiou e passou na verificação, antes de ir para o proximo.
  //Guardar esse sorteio no db
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma simples SQL resolve

 

 

SELECT dados FROM tabela WHERE id != id_do_usuario_logado ORDER BY RAND() LIMIT 1;

 

vai retornar um registro aleatório, diferente do usuário logado (afinal, não é permitido selecionar si próprio)

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.