Criar sequencia que zera todo dia (numero-dia-mês)
Bom dia!
estou com um problema para criar uma sequencia ex (numero-dia-mês) ficaria assim (0001-02-nov) e esse numero teria que iniciar do zero todo dia
estou com esse código <? setlocale(LC_ALL,"portuguese-brazil"); echo strftime(" XXXX-%d-%b- "); ?> só falta o numero que ainda não consegui fazer que esta com um XXXX no lugar.
Alguém pode me ajudar?
estou com um problema para criar uma sequencia ex (numero-dia-mês) ficaria assim (0001-02-nov) e esse numero teria que iniciar do zero todo dia
estou com esse código <? setlocale(LC_ALL,"portuguese-brazil"); echo strftime(" XXXX-%d-%b- "); ?> só falta o numero que ainda não consegui fazer que esta com um XXXX no lugar.
Alguém pode me ajudar?
comentários (0)
suspender
Lista de Respostas:
06/12/2012 6:41pm
(~12 anos atrás)
(~12 anos atrás)
Para que um script saiba contar é preciso que ele sempre saiba de onde recomeçar. Isso quer dizer que a informação precisa ser salva em algum lugar. Esse lugar não pode ser SESSION pelas implicações pertinentes ao limite dessa estar associado a uma outra informação que é o ID, que pode se perder facilmente.
Segue um exemplo bem simples e funcional de fazer o que pretende.
Segue um exemplo bem simples e funcional de fazer o que pretende.
<?php setlocale(LC_ALL,"pt_BR", "ptb"); // veja http://phpbrasil.com/script/UrQfm1WUXID2/datahora-em-qualquer-idioma $tempfile=sys_get_temp_dir().'/contador.txt'; // Arquivo que será usado para salvar o estado do contador if(is_file($tempfile)){ $i=intval(file_get_contents($tempfile)); }else{ $i=0; } sprintf('%04d-%s-%0s',$i) . strftime("-%d-%b- "); // Salvando a contagem atual $i++; file_put_contents($tempfile,$i);
07/12/2012 11:52am
(~12 anos atrás)
(~12 anos atrás)
1° Obrigado pela ajuda mas
<td>Cadastrado por: <? echo $dados[nome];?><?
setlocale(LC_ALL,"portuguese-brazil");
echo strftime(" -%d-%b- ");
?><?php
setlocale(LC_ALL,"pt_BR", "ptb"); // veja http://phpbrasil.com/script/UrQfm1WUXID2/datahora-em-qualquer-idioma
$tempfile=sys_get_temp_dir().'/contador.txt'; // Arquivo que será usado para salvar o estado do contador
if(is_file($tempfile)){
$i=intval(file_get_contents($tempfile));
}else{
$i=0;
}
sprintf('%04d-%s-%0s',$i) . strftime("-%d-%b- ");
// Salvando a contagem atual
$i++;
file_put_contents($tempfile,$i);?></td>
tentei cololcar assim porem está com erro
<td>Cadastrado por: <? echo $dados[nome];?><?
setlocale(LC_ALL,"portuguese-brazil");
echo strftime(" -%d-%b- ");
?><?php
setlocale(LC_ALL,"pt_BR", "ptb"); // veja http://phpbrasil.com/script/UrQfm1WUXID2/datahora-em-qualquer-idioma
$tempfile=sys_get_temp_dir().'/contador.txt'; // Arquivo que será usado para salvar o estado do contador
if(is_file($tempfile)){
$i=intval(file_get_contents($tempfile));
}else{
$i=0;
}
sprintf('%04d-%s-%0s',$i) . strftime("-%d-%b- ");
// Salvando a contagem atual
$i++;
file_put_contents($tempfile,$i);?></td>
tentei cololcar assim porem está com erro
11/12/2012 10:00am
(~12 anos atrás)
(~12 anos atrás)
cara, a sua pergunta supõe que é apenas uma unica contagem por pagina.
Seu codigo ja diz que cada usuario tera uma contagem e entao o codigo tem que ser diferente.
Quando fizer a pergunta, explique o problema inteiro, o que ja conseguiu fazer e qual o resultado final esperado.
Seu codigo ja diz que cada usuario tera uma contagem e entao o codigo tem que ser diferente.
Quando fizer a pergunta, explique o problema inteiro, o que ja conseguiu fazer e qual o resultado final esperado.
12/12/2012 8:28am
(~12 anos atrás)
(~12 anos atrás)
meu problema é que eu não consigo trazer esse numero pois ele seria recebido pelo cadastrar_db.php no
$controle = $_POST[controle];
ele não é meu id e sim um controle interno que tem que ser nesse padrão
numero-dia-mês, e esse numero será alterado a cada cadastro.
Você conseguiu me entender?
$controle = $_POST[controle];
ele não é meu id e sim um controle interno que tem que ser nesse padrão
numero-dia-mês, e esse numero será alterado a cada cadastro.
Você conseguiu me entender?
12/12/2012 8:31am
(~12 anos atrás)
(~12 anos atrás)
é para um sistema de advocacia e esse é o cadastro de diligência que será feito por dia +ou- umas 1000 e acada nova solicitação será alterado esse numero
13/12/2012 9:54am
(~12 anos atrás)
(~12 anos atrás)
Então, eu já expliquei o funcionamento. Para que voce saiba qual o proximo numero é necessario saber qual foi o anterior, certo? Já dei a solução para esse problema.
Esse codigo abaixo deve ser colocao logo no inicio do script. Antes de qualquer outro codigo
Esse codigo abaixo deve ser colocao logo no inicio do script. Antes de qualquer outro codigo
<?php
setlocale(LC_ALL,"pt_BR", "ptb");
$tempfile=sys_get_temp_dir().'/contador.txt'; // Arquivo que será usado para salvar o estado do contador
if(is_file($tempfile)){
$i=intval(file_get_contents($tempfile));
}else{
$i=0;
}
file_put_contents($tempfile,$i+1);
# Daqui pra frente você pode usar o $i a vontade
<td>Cadastrado por: <?php echo $dados['nome'] . '-' . strftime(" -%d-%b- ");?></td>
13/12/2012 12:00pm
(~12 anos atrás)
(~12 anos atrás)
Obrigado vou fazer os testes aqui e ver se lele zera amanhã.
ele zera manualmente tmbm??
Desde já agradeço a atenção
ele zera manualmente tmbm??
Desde já agradeço a atenção
14/12/2012 5:47am
(~12 anos atrás)
(~12 anos atrás)
Fiz alguns testes mas ainda não consegui o que preciso pois ele não zerou no dia seguinte, será que estou fazendo alllgol errado?
14/12/2012 9:10am
(~12 anos atrás)
(~12 anos atrás)
Hmmmm, tem que zerar todo dia? Então use este código.
<?php setlocale(LC_ALL,"pt_BR", "ptb"); $tempfile=sys_get_temp_dir().'/contador.txt'; // Arquivo que será usado para salvar o estado do contador if(is_file($tempfile) && filemtime($tempfile)> mktime(0,0,0)){ $i=intval(file_get_contents($tempfile)); }else{ $i=0; } file_put_contents($tempfile,$i+1); # Daqui pra frente você pode usar o $i a vontade <td>Cadastrado por: <?php echo $dados['nome'] . '-' . strftime(" -%d-%b- ");?></td>
14/12/2012 11:06am
(~12 anos atrás)
(~12 anos atrás)
add skype ai fazendo um favor informatica@juridicodinamico.com.br
Informática - Jurídico Dinâmico
Vlw
Informática - Jurídico Dinâmico
Vlw
16/12/2012 10:40am
(~12 anos atrás)
(~12 anos atrás)
Amigo, não dou suporte online, por isso melhor enviar e-mail. (marcos@marcosregis.com)
11/03/2013 2:12pm
(~11 anos atrás)
(~11 anos atrás)
<?php
$q = mysql_query("SELECT MAX(numero) FROM diligencia WHERE dia='".date("d")."'"); //procura o maior valor do campo no ano atual
$r = mysql_fetch_array($q); //joga num array...
$max = $r[0]+1; //adiciona 1 para o proximo valor
?>
dentro do form
<input type="hidden" name="controle" value="<?php echo strftime("$max-%d-%b");?>">
$q = mysql_query("SELECT MAX(numero) FROM diligencia WHERE dia='".date("d")."'"); //procura o maior valor do campo no ano atual
$r = mysql_fetch_array($q); //joga num array...
$max = $r[0]+1; //adiciona 1 para o proximo valor
?>
dentro do form
<input type="hidden" name="controle" value="<?php echo strftime("$max-%d-%b");?>">