gerar protocolo sequencial
Olá, estou precisando de ajuda com meu código PHP junto com o SQL, pois preciso gerar um protocolo a partir do ultimo registro, preciso de uma sequencia exemplo: 2017001 <-- protocolo 1, 2017002 e assim por diante, seguir uma sequencia de acordo com o que gerado um novo registro.
da forma que fiz, não esta dando certo.
tenho 2 problemas.
1- Aparentemente as informações estão sendo gravadas no banco de dados, mas quando acesso o BD, esta em branco, mas existe uma sequencia. Tipo, foi gravado algo em branco, eu inseri dados no formulário, mas no BD os campos estão em branco. foto em anexo.
2- Tentei retornar a ID, com o comando $id = mysql_insert_id (); mas não da em nada.
Ajuda por favor.
<?php
//arquivo php sac.php
//Variáveis
$Name = $_POST['Name'];
$Email = $_POST['Email'];
$City = $_POST['City'];
$cep = $_POST['cep'];
$Message = $_POST['Message'];
$data_envio = date('d/m/Y');
$hora_envio = date('H:i:s');// define o IP de envio da mensagem
$IP = $_SERVER['REMOTE_ADDR'];
$ERRO =0;
if (empty($Name) OR strstr($Name, ' ')==false) {
echo "favor digitar o seu nome corretamente.<br>";
$erro = 1;
}
//Verifica se o campo email está preenchido corretamente
if (strlen($Email)< 8 || strstr($Email, '@')==false) {
echo "Favor digitar o seu email corretamente.<br>";
$erro = 1;
}
//Verifica se o campo cidade está em branco
if (empty($City)) {
echo "Favor digitar sua cidade.<br>";
$erro = 1;
}
//Verifica se o campo comentarios está vazio
if (empty($Message)) {
echo "Favor entre com algum comentário.<br>";
$erro = 1;
}
//Verifica se o campo comentarios está vazio
if (empty($cep)) {
echo "coloque um estado.<br>";
$erro = 1;
}
//Obtém o ano para ser utilizado no número de protocolo
$anoprotocolo = date ("Y");
$servername = 'localhost:3306';
$username = '--';
$password = '--';
$dbname = '--';
$id = mysql_insert_id ();
//Preenche, com zeros a esquerda, o número do protocolo obtido através da função mysql_insert_id
$idprotocolo = str_pad($id, 2, "0", STR_PAD_LEFT);
// Gera o número de protocolo
$protocolo = $idprotocolo.$id.$anoprotocolo;
echo"<center><h1>Sua solicitação foi cadastrada com sucesso.</h1></center>";
echo"<center><h1>O número de protocolo é </h1></center> ";
echo"<center><h2>$protocolo</h2></center>";
echo"<center><h1>Anote-o para pesquisar o andamento da sua solicitação.</h1></center>";
if ($erro == 0) {
echo "Todos os dados foram digitados corretamente.<br>";
include 'insere.inc';
}
?>
<?php
//arquivo insere.inc
include 'conecta_mysql.inc';
$Name =$_post['Name'];
$Email =$_post['Email'];
$City =$_post['City'];
$cep =$_post['cep'];
$Message =$_post['Message'];
$sql = "insert into cadastro values";
$sql .= "('$Name', '$Email', '$City', '$cep', '$Message')";
if ($conexao->query($sql) === TRUE) {
echo "Usuário incluído com sucesso!";
} else {
echo "Erro: " . $sql . "<br>" . $conexao->error;
}
$conexao->close();
?>
<?php//arquivo conecta_mysql.inc
//cria a conexao mysqli_connect('localizacao BD', 'usuario de acesso', 'senha', 'banco de dados')
$conexao = mysqli_connect('localhost:3306', '--', '--', '--');
mysqli_set_charset($conexao, 'utf8');
if ($conexao->connect_error){
die("falha ao realizar a conexão.: " . $conexao->connect_error);
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<title>sac</title>
<meta charset="UTF-8">
</head>
<body>
<h1>sac</h1>
<br>
<form method="POST" action="sac.php">
<pre>Insira as informações para efetuar o sac e deixe seu comentário.
Nome: <input type="text" size="35" maxlength="256" name="Name">
E-mail: <input type="text" size="35" maxlength="256" name="Email">
Cidade: <input type="text" size="35" maxlength="256" name="City">
Estado: <input type="text" size="2" maxlength="2" name="cep">
Digite sua opnião sobre o site no espaço abaixo:
<textarea name="Message" cols="42" rows="5"></textarea>
<input type="submit" value="Efetuar Cadastro" name="enviar">
</pre>
</form>
</body>
</html>
Imagem do banco, com os as informações gravadas em branco.
/monthly_2017_11/Capturar.PNG.15fe9b62cb2302ab2611ae484b5c4de5.PNG" />Discussão (6)
Carregando comentários...