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

Formulário Gerando Código Cliente


Ljrbrasil

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Beraldo

Boa tarde!

 

Poderia me ajudar??? O auto_increment acho que ja ocorre para outra finalidade, ai pergunto: É possível fazer a utilização para duas finalidades? e possível fazer outro auto_increment que gere um codigo com 5 dígitos?

 

Segue BD

 

-- Estrutura da tabela `bdclientes`
--

CREATE TABLE IF NOT EXISTS `bdclientes` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  `codcli` varchar(60) DEFAULT NULL,
  `cnpj` varchar(60) DEFAULT NULL,
  `ie` varchar(60) DEFAULT NULL,
  `razs` varchar(60) DEFAULT NULL,
  `fant` varchar(60) DEFAULT NULL,
  `end` varchar(60) DEFAULT NULL,
  `num` varchar(60) DEFAULT NULL,
  `bairro` varchar(60) DEFAULT NULL,
  `cidade` varchar(60) DEFAULT NULL,
  `estado` varchar(60) DEFAULT NULL,
  `cont` varchar(60) DEFAULT NULL,
  `tel` varchar(60) DEFAULT NULL,
  `cel` varchar(60) DEFAULT NULL,
  `codvend` varchar(60) DEFAULT NULL,    
  `vend` varchar(60) DEFAULT NULL

Link para o comentário
Compartilhar em outros sites

  • 0

Não. Apenas um campo pode ser auto_increment.

O que você pode fazer é gerar um código único usando a função uniqid() do PHP. Vai ter mais que 5 caracteres. Isso é um problema? Se quiser exatamente 5, terá que criar uma função pra isso. Vejo duas saídas:

1. Um loop que vai gerando códigos enquanto o código gerado já existir. Isso evita repetições

2. Criar uma função de hash. Porém a quantidade baixa de caracteres pode gerar colisões (repetições)

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo

Agradeço desde já pela informação. não tenho tanta experiência no assunto e por isso gostaria de saber se pode me mostra um exmplo para que eu possa implementar em meu código

 

Fico grato desde ja pela ajuda.

 

Segue meu código.

 

 <?php

//arquivo de conexão com o banco de dados
require('conecta.php');

//pegando variáveis
$data = date("d/m/Y"). "\n";
$hora = date("H:i"). "\n";
$codvend   =  $_POST ['codvend'];
$vend      =  $_POST ['vend'];
$razs      =  $_POST ['razs'];
$email     =  $_POST ['email'];
$fant      =  $_POST ['fant'];
$cnpj      =  $_POST ['cnpj'];
$ie        =  $_POST ['ie'];
$end       =  $_POST ['end'];
$cep       =  $_POST ['cep'];
$bairro    =  $_POST ['bairro'];
$cidade    =  $_POST ['cidade'];
$estado    =  $_POST ['estado'];
$tel       =  $_POST ['tel'];
$cel       =  $_POST ['cel'];
$resp      =  $_POST ['resp'];


//inserindo dados na tabela livrodevisitas
$sqlinsert = "INSERT INTO bdclientes (data, hora, codvend, vend, razs, email, fant, cnpj, ie, end, cep, bairro, cidade, estado, tel, cel, resp)
VALUES                               ('$data', '$hora', '$codvend', '$vend', '$razs', '$email', '$fant', '$cnpj', '$ie', '$end', '$cep', '$bairro', '$cidade', '$estado', '$tel', '$cel', '$resp')";
 
mysql_query($sqlinsert) or die(mysql_error());            
//mysql_query($sqlinsert) or die ("Não foi possível inserir os dados - Possivelmente acesso já encontra-se lançado.");


echo"

<html>

<head>
<meta http-equiv=\"Content-Language\" content=\"pt-br\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<title>KPI Tracking</title>

<link href='css/bootstrap.min.css' rel='stylesheet'>
    <link rel='stylesheet' href='css/style.css'>
    <style type='text/css'>
    .teste {
    font-size: 9px;
}
    </style>

</head>

<body>

<font face=\"Century Gothic\" color=\"#008000\">Informação Enviada. Você será redirecionado em 5 segundos.</font></p>
<hr size=\"1\" width=\"50%\">
<div align=\"center\">
</div>

</body>

</html>";

echo '<meta http-equiv="refresh" content="5;URL=ccliente.php" /> ' //redirecionar

?>

Link para o comentário
Compartilhar em outros sites

  • 0

A ideia é a seguinte:

do
{
    $id = rand(11111, 99999);

    $alreadyExists = true; // busca $id no banco e verifica se já existe. Recebe true se já existe ou false caso contrário

} while ($alreadyExists);

echo "ID gerado: " . $id . PHP_EOL;

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira MySQLi ou PDO. Veja mais detalhes aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Editado por Beraldo
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...