Ir ao conteúdo
  • Cadastre-se

Amigo Oculto em PHP


louisnerys

Posts recomendados

Estou com o seguinte problema: natal chegando, minha família resolveu fazer um amigo oculto de última hora, e lá fui eu fazer um sisteminha pra fazer o sorteio pela net, pra não ter q se encontrar só pra tirar os nomes.

mas o PHP não quer aceitar meu código... e eu tenho quase certeza q tá tudo certo! olha só:

$part = mysql_query("SELECT id,amigo,nome FROM $tb1");
$num = mysql_numrows($part);
$desordem = array();
for($i=0;$i<$num;$i++){
do{
$al=rand($num-1); //sorteia o amigo
$amigo = mysql_result($part,$al,"id");
$usuario = mysql_result($part,$i,"id");
}while (in_array($al,$desordem)or($usuario==$amigo)); //checa se já foi sorteado ou se o amigo é o usuário
$desordem[]=$al;
// INSERE NO CAMPO AMIGO, O AMIGO SORTEADO PARA O USUÁRIO
$insere = mysql_query("UPDATE $tb1 SET amigo = $amigo WHERE id = $usuario")
OR DIE("Erro:".mysql_error());
print "O amigo de ".mysql_result($part,$i,"nome")." é ".mysql_query("SELECT nome FROM $tb1 WHERE id = ".mysql_result($part,$i,"amigo"));
}

tá dando erro 413:

Request Entity Too Large

The requested resource

/sorteio.php

does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.

também tentei de outra forma, e dá o mesmo erro:

// SELECIONA PARTICIPANTES
$part = mysql_query("SELECT id,amigo,nome FROM $tb1 ORDER BY id ASC");
$num = mysql_numrows($part);
for($i=0;$i<$num;$i++){
do{
$al = rand($num-1);
$amigo = mysql_result($part,$al,"id");
$usuario = mysql_result($part,$i,"id");
}while (($usuario==$amigo) OR (mysql_numrows(mysql_query("SELECT amigo FROM $tb1 WHERE amigo=".$amigo))>0));

// INSERE NO CAMPO AMIGO, O AMIGO SORTEADO PARA O USUÁRIO
$insere = mysql_query("UPDATE $tb1 SET amigo = '$amigo' WHERE id = '$usuario'")
OR DIE("Erro:".mysql_error());
print "O amigo de ".mysql_result($part,$al,"nome")." é ".mysql_query("SELECT nome FROM $tb1 WHERE id = ".mysql_result($part,$al,"amigo"));
}

será q por o PHP ser linguagem de script, ele não está conseguindo fazer a seleção de forma rápida e está travando?

Link para o comentário
Compartilhar em outros sites

does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.

Pelo erro, não pode pegar dados por GET, ou a quantidade de dados enviados excede o limite do server.

O Problema é provavelmente o server.

Tenta trocar, faz umlocal ai ou usa o zymic.com, é muito bom.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...