Jump to content
Fórum Script Brasil
  • 0

Formulário Gerando Código Cliente


Ljrbrasil
 Share

Question

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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/

Edited by Beraldo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...