WictorP 9 Denunciar post Postado Abril 8, 2015 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
Bri ~ 3 Denunciar post Postado Abril 12, 2015 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
Beraldo 864 Denunciar post Postado Abril 12, 2015 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