Pessoal,
preciso popular uma tabela com datas existentes em um intervalo de datas...
Exemplo:
Data Inicial: 01/01/2012
Data Final: 12/01/2012
O script deve inserir no banco o seguinte resultado:
01/01/2012
02/01/2012
03/01/2012
04/01/2012
05/01/2012
06/01/2012
07/01/2012
08/01/2012
09/01/2012
10/01/2012
11/01/2012
12/01/2012
Mas só pode inserir se ainda não existe esta data já gravada.
Alguém pode me ajudar?
PS: Tabela = datas Campo = data
Gerar Datas De Um Intervalo
Started By brilhantetk, 09/09/2012, 23:19
1 reply to this topic
#1
Posted 09/09/2012, 23:19
Rafael Coimbra Brilhante
Desenvolvedor PHP
e-mail/MSN: brilhantetk@gmail.com
Fone: (51) 8411 5995
São Leopoldo - RS - Brasil
Desenvolvedor PHP
e-mail/MSN: brilhantetk@gmail.com
Fone: (51) 8411 5995
São Leopoldo - RS - Brasil
#2
Posted 29/05/2013, 11:37
Um "pouco" atrasado, mas cheguei nesse tópico através do Google hoje, e acabei achando a solução e por gostar do fórum, e para outras pessoas que caírem no tópico... aqui vai minha solução
$dtIni = 'xxxx-xx-xx';
$dtFim= 'xxxx-xx-xx';
$meses = diferencaData($dtIni,$dtFim,'M');//no caso caluculei a diferença de meses
for($i=0;$i<$meses;$i++){//fiz um loop para os meses do periodo
echo strtotime("$dtIni+$i month");//e fui adicionando meses de acordo com o contador i, na data incio
}
/* Referências validas para calculo de data php: mais referencias consulte o manual na função strtotime
//adiciona um dia
echo strtotime("+1 day");
//adiciona uma semana
echo strtotime("+1 week");
//adiciona um mês
echo strtotime("+1 month");
//adiciona um ano
echo strtotime("+1 year");
*/
function diferencaData($d1, $d2, $type='D', $sep='-')
{
$d1 = explode($sep, $d1);
$d2 = explode($sep, $d2);
switch ($type){
case 'A':
$X = 31536000;
break;
case 'M':
$X = 2592000;
break;
case 'D':
$X = 86400;
break;
case 'H':
$X = 3600;
break;
case 'MI':
$X = 60;
break;
default:
$X = 1;
break;
}
return floor( ( ( mktime(0, 0, 0, $d2[1], $d2[2], $d2[0]) - mktime(0, 0, 0, $d1[1], $d1[2], $d1[0] ) ) / $X ) );
}
Edição feita por: Tugu, 29/05/2013, 11:38.
<span style='font-size:10pt;line-height:100%'>Fernando Tugu</span>
Meu Lema: "O ser Humano não é nada sem seus sonhos . . . então vá pra cama dormir ! ! !"
Meu Lema: "O ser Humano não é nada sem seus sonhos . . . então vá pra cama dormir ! ! !"
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










