Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, um dúvida, preciso imprimir em um combo o primeiro dia de cada mês/ano de um intervalo entre 2 datas, por exemplo, início 01/01/2010 a 01/09/2013, como eu poderia fazer isso?
Eu teria que receber dentro desse intervalo, por exemplo: 01/01/2010, 01/02/2010, 01/03/2010....01/01/2011, 01/02/2011...até 01/09/2013
Between o nome do que deve usar veja:
SELECT * FROM nometabela WHERE nomecampo BETWEEN '2007-01-01' AND '2007-12-31';
Abraço irmão.
Não seria consulta SQL e sim um loop no próprio PHP.
de uma olhada nos exemplos acho q pode te ajudar.
http://www.php.net/manual/en/class.dateperiod.php
http://www.php.net/manual/en/dateperiod.construct.php
Devido a limitações no servidor não pude usar a classe nativa do PHP, então parti para outra solução, porém esta esta me gerando erro de "Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 556 bytes)", mas depois de vários F5 ele funciona, o que pode estar ocorrendo?
function entrePeriodos($data_ini, $data_fim, $entrada = '+1 day', $formato = 'Y-m-d')
{
$datas = array();
$dt1 = strtotime($data_ini);
$dt2 = strtotime($data_fim);
while($dt1 <= $dt2)
{
$datas[] = date($formato, $dt1);
$dt1 = strtotime($entrada, $dt1);
}
return $datas;
}
qual o tipo de retorno?
em dias? especifica mês?