• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xino2

Recomeçar numeração do formulario no inicio de cada ano.

6 mensagens neste tópico

:wallbash:

Olá pessoal do código :),

Gostava de saber se alguem me pode ajudar. Sou novo no mundo PHP e estou com grandes dificuldades em criar um formulario linkado a uma tabela no mysql em que sempre que mude o ano a tabela recomece a numeração de novo, apenas increntando o ano e mantendo os dados anteriores.

A ideia é o pessoal da empresa fazer os pedidos por um formulario na intranet. A numeração do formulário é feita da seguinte maneira: P - 001 - 09 , P - 002 - 09 , ... , etc.

Onde "001" representa o nº do formulário, e "09" o ano. O numero "001" é incrementado cada vez que for feito um novo pedido registando-o na base de dados, e sempre que muda o ano ele recomeça de novo apartir do "001", incrementando o ano para "10" ( P - 001 - 10) mantendo todos os dados anteriores. Alguem tem ideia de como se faz isto?

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fazes um select à tabela com impondo a condição da tabela do ano ter o valor "09", fazes um order by numero asc, e vês o valor do último registo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado, djthyrax!

A minha ideia era ver quantas entradas havia na base de dados para esse ano, se nenhuma fosse encontrada, o incremento era igual a 001, se uma ou mais fossem encontradas, era selecionar o maximo e adicionar 1.

O meu problema é que não faço a minima ideia de como traduzir isto para código... Axas que me podes dar alguma dica? Não faço ideia por onde começar. É o que dá não perceber muito disto... :D

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela ajuda!! Já está a bombar e sem problemas. O k custou foi começar, dps até foi relativamente simples.

Mais uma vez, obrigado pela a ajuda! :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou entao seleccionas o que tem o numero mais baixo do ano corrente e somas 1 caso tenhas 0 resultados é o primeiro

<?php
$q = 'SELECT * FROM `nome_da_tabela` WHERE `campo_da_referencia` LIKE \'%'.date('y').'\' ORDER BY `campo_da_referencia` DESC LIMIT 1;';
$r = mysql_query($q, $link);
if (mysql_num_rows($r)==0){
     $proxima_referencia = 'p-0001-'.date('y');
}else{
     $n = mysql_fetch_assoc($r);
     $n = explode('-', $n['campo_da_referencia']); 
     $n = $n[1]++;
     $proxima_referencia = 'p-'.$n.'-'.date('y');
}
?>

Qualquer coisa como isto

Fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora