Ir para conteúdo

Arquivado

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

tubadc

criar numero aletorio que seja sempre diferente do nºs no ban

Recommended Posts

seguinte tenho a seguinte função...

 

<?
function aleatorio(){
$novo_valor= "";
$valor = "0123456789";
srand((double)microtime()*1000000);
for ($i=0; $i<10; $i++){
$novo_valor.= $valor[rand()%strlen($valor)];
}
return $novo_valor;
}
?>

ai consulto no banco o numero para ver se existe se existe cria outro se naum existe grava, ai to fazendo assim....

 

include("includes/funcao.aleatorio.php");
	$numpedido=aleatorio();
		$sqlnum=mysql_query("SELECT numpedido FROM pedidos WHERE numpedido='$numpedido'") or die (mysql_error());
		$rows=mysql_num_rows($sqlnum);
			if($rows >= 1) {
				$numpedido=aleatorio();
			}
			else {
			$inssql=mysql_query("INSERT INTO pedidos (numpedido, idusergri, sessao, pagamento, total, endereco, frete, data, status, rastreio) VALUES ('$numpedido','$iduser','".session_id()."','$pagamento','$total','$idend', '$frete', now(), 1, '')") or die (mysql_error());
}

o problema é preciso de um novo loop que fique sempre verificando se existe no else... pois se no else ele criar outro e esse outro existir naum adiantou nada dai... sakaram....

 

Vlw !!!

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew tuba... Tubo bem com você...

 

Tenta dessa maneria:

Em vez de você fazer a pesquisa fora da função se existe um número aleatório já cadastrado no Banco, faça a pesquisa dentro da própria função...

 

Tipo:

function NAleatrio()
{
	// Gera um Número único
	// $GNumero = Gera Número
	$GNumero= substr(md5(uniqid(time())), 0, 10);
	// $RNumero = Retorna Número
	$RNumero = $GNumero;
	// Verifica se o número já existe, caso positivo, chama essa função novamente
	$Sql = mysql_query("SELECT * FROM pedidos WHERE numPedido = '$RNumero'");
	$Verifica = mysql_num_rows($Sql);
	if($Verifica)
	{
		$RNumero = NAleatrio();
	}
	// Retorna o Número Aleatório único...
	return $RNumero;
}
Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Alexandre_Lopes seguindo seu raciocínio onde neste código é inserido a instrução de insert?

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.