Ir para conteúdo

POWERED BY:

Arquivado

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

Cyberoma

[Resolvido] Como gerar numero de matricula para usuarios

Recommended Posts

Boa tarde amigos, estou com um problema..

 

Eu insiro um usuario no banco de dados (campos: id, nome, email, matricula,...), nesse banco tem um campo chamado matricula. xD

 

Ai eu gostaria de na matricula inserir digamos a data de criação do usuario concatenado com um numero que iria ser somado + 1;

 

Esse numero eu peguei a qtd de linhas da tabela.

 

Vou explicar melhor:

 


$ano = date('Y');


$ultimo = mysql_query("SELECT * FROM usuarios ORDER BY id DESC");
$linhas = mysql_num_rows($ultimo);
$linhas++;

"INSERT ... (matricula) VALUES ... ($ano.$linhas)";

 

POREM, se eu excluir um usuario, vai dar pau, o campo vai ser duplicado e ai já sabe neh..

 

Acho que essa não é a melhor maneira de fazer isso, alguem pode me ajudar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigos, estou com um problema..

 

Eu insiro um usuario no banco de dados (campos: id, nome, email, matricula,...), nesse banco tem um campo chamado matricula. xD

 

Ai eu gostaria de na matricula inserir digamos a data de criação do usuario concatenado com um numero que iria ser somado + 1;

 

Esse numero eu peguei a qtd de linhas da tabela.

 

Vou explicar melhor:

 


$ano = date('Y');


$ultimo = mysql_query("SELECT * FROM usuarios ORDER BY id DESC");
$linhas = mysql_num_rows($ultimo);
$linhas++;

"INSERT ... (matricula) VALUES ... ($ano.$linhas)";

 

POREM, se eu excluir um usuario, vai dar pau, o campo vai ser duplicado e ai já sabe neh..

 

Acho que essa não é a melhor maneira de fazer isso, alguem pode me ajudar??

 

Em vez de pegar o numero de linhas, pega o MAX id, e acrescenta 1 nele... se este for numerico né!!!

 

Espero ter ajudado.

Att

Uerlen Santos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de pegar o numero de linhas, pega o MAX id, e acrescenta 1 nele... se este for numerico né!!!

 

Espero ter ajudado.

Att

Uerlen Santos

 

 

Pow amigão, obrigado pela resposta, o campo id é numerico..

 

Usei:

 

$max = mysql_query("SELECT MAX(id) FROM usuarios");

$max = mysql_query("SELECT MAX(id) AS maximo FROM usuarios");

 

Resolvido,

 

fiz assim:

 

$ano = date('Y');

$max = mysql_query("SELECT MAX(id) +1 FROM usuarios") or die (mysql_error());;

$teste = mysql_fetch_array($max);

$nova_matricula = $ano . $teste[0];


$sql = mysql_query ("INSERT usuarios (matricula) VALUES ($nova_matricula) ");

 

Ficou perfeito e sem risco de duplicidade.

 

Obrigado Uerlen o/

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.