Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida em Numero Randomico


Adenison Santos

Pergunta

Estou usando a seguinte função para gerar um numero de protocolo randomico, mais estou tentando frequentes erro de chave duplicada no formulário.

Minha duvida é de como fazer para em vez de gerar um numero randomico, uma testar se já possui no banco e gerar o loop para ser gerado novamente..

function makeRandomPassword(){

$salt = "123456789";
srand(time(NULL)); 

$i = 1;

while($i <= 7){

$num = rand() % 55;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
            }
            return $pass;
        } 
        $numero_randomico = makeRandomPassword();
        $protocolo = ($numero_randomico);

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Como você vai verificar se o número existe ou não, fiz o rand direto, tirando toda aquela parte que agora só serviria pra consumir mais recursos do servidor...

function makeRandomPassword(){

    while(1){
        $pass = rand(1,99999);
            
        //Faz a query e verifica se o número já existe, tem que ver como está o seu BD...
        $sql = mysql_query...
    
        if(mysql_num_rows($sql) == '0'){
            break;
        }

    }
        return $pass;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi o que você quis dizer, mais minha query esta assim:

$cadastrar = mysql_query("INSERT INTO `$tabela` (protocolo, nome, email, ddd, telefone, endereco, numero, complemento, 
bairro, cep, cidade, uf, cpf, rg, nota, emissao_data, serie, serie2, relato, data_cadastro)
VALUES ('$protocolo','$nome','$email','$ddd','$telefone','$endereco','$numero','$complemento','$bairro','$cep','$cidade',
'$uf','$cpf','$rg','$nota','$emissao_data','$serie','$seriequip','$relato', now())", $db) or die (mysql_error());
    
}

Editado por Adenison Santos
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...