• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Byter

Duvida num While

2 mensagens neste tópico

Boas, tenho aqui uma duvida, se alguem me pudese esclarecer, agradecia.

Isto gera um numero randomico e adiciona a db, e se esse numero ja existir ele faz outro, lol, nao me perguntem, porque nao IDs Fixos na db com INTs  e AutoIncrments, mas eu quero mesmo assim para fazer numeros "grandes"...

Eu tenho isto, mas nao esta a dar:

$tickets=rand(0,999999);


$res3= mysql_query("SELECT idrandoom FROM ".$tabelatickets."") or die(mysql_error());

while($tickets==$res3){ $tickets=rand(0,999999); }

E muito simples a rotina, mas não estou a  conseguir fazer, se me puderem ajudar, obrigado.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tu não estás a retornar o valor, mas sim a query... e falta-te a condição ( WHERE )

devias fazer do estilo:

$res3 = mysql_query('SELECT idrandoom FROM '.$tabelatickets.' WHERE idrandom = \'' . $tickets . '\'') or die(mysql_error());
$res3 = mysql_fetch_row($res3);
$res3 = $res3[0];

aí sim, ficarias com o valor da bd.

Se bem que isso para funcionar mais correctamente seria algo do género:

do{

$tickets = rand ( 0, 999999 );

$res3 = mysql_query ( 'SELECT idrandoom FROM ' . $tabelatickets . ' WHERE idrandom = \'' . $tickets . '\' LIMIT 1' ) or die( mysql_error() );
// Retorna 1 se tiver repetido ou 0 se não tiver
$temRepetidos = mysql_num_rows($res3);

// Enquanto tiver repetidos...
}while( $temRepetidos );

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora