Jump to content

PHP + MYSQL - Devolver referencia tipo XXX/2009


mr.ice
 Share

Recommended Posts

Boas..

Estou a iniciar em PHP e precisava de ajuda no seguinte..

Precisava de ao guardar que o registo ficasse com uma referencia do género 0001/2009 em que 0001 é o número do registo e o 2009 o ano.

Estava a pensar criar uma tabela extra em que guardo o número para aquele ano, e sempre que crio um registo incremento.

Estou a pensar bem , ou existe alguma maneira mais simples e melhor..

Obrigado desde já..

Link to comment
Share on other sites

Isso parece apenas uma questão de formatação, não será mais simples teres o campo para o número e o campo para a data de criação e quando precisares de apresentar o valor juntares os dois campos e formatares o número para ter esse conjunto de zeros no início?.

Eventualmente, se o número depender do ano podes ter o ano num campo, em vez da data completa, e usar uma chave composta.

Link to comment
Share on other sites

O meu problema é que o valor no inicio do ano deve começar outra vez do zero..

Há várias formas de conseguir isso, aquela que me parece simples dado o que indicaste é ter uma chave composta por dois campos, um que registe o número outro que registe o ano. Ao inserires novos valores na tabela vais verificar qual é o último valor existente para o ano corrente, se não existir nenhum começas em 1 se existir começas no inteiro seguinte ao valor máximo. Dependendo da tabela e de como o sistema está implementado podes ter alguns problemas de concorrência, mas não serão complicados de resolver.

Creio que esta será a forma mais simples se não tiveres outras limitações.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.