Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola, pesquisando na net, e não encontrei nada que possa me dar um norte..
precisava pegar todos os domingos do mês e salvar no banco. alguém poderia me dar um norte para que eu fazer isso. obrigado!!!
function getSundays($y, $m)
{
return new DatePeriod(
new DateTime("first sunday of $y-$m"),
DateInterval::createFromDateString('next sunday'),
new DateTime("last day of $y-$m")
);
}
foreach (getSundays(2017, 08) as $sunday) {
echo $sunday->format("l, Y-m-d\n");
}>
18 minutos atrás, marsolim disse:
mas pra que salvar no banco se tendo a data tu podes fazer o que precisar sem ter que ocupar espaço no banco? sem contar que fazendo tudo no php mesmo tu economiza banda por não precisar consultar o banco de dados. já pesquisou as formas como o php pode apresentar as datas? tu pode fazer um loop de 1 até o ultimo dia do mês e ano atual e ver se o dia da semana no formato date('w',strtotime($data)) é 0...
Boa tarde, de qualquer forma irei precisar salvar, pois o pessoal aqui vai precisar dessas datas para jogar no sistema e agendar quando vai sair o anuncio no impresso do cliente em determinado domingo.... valeu pela dica..
>
20 horas atrás, Maykel-ctba disse:
function getSundays($y, $m)
{
return new DatePeriod(
new DateTime("first sunday of $y-$m"),
DateInterval::createFromDateString('next sunday'),
new DateTime("last day of $y-$m")
);
}
foreach (getSundays(2017, 08) as $sunday) {
echo $sunday->format("l, Y-m-d\n");
}
Boa tarde, irei dar uma olhada.. obrigado!!!!Bom dia, consegui fazer mais de um outro jeito.. vou deixar o código aqui para vocês analisarem se da para melhorar ele.. desde já agradeço pela ajuda de todos..
$dataAtual = date('Y-m-d');
$numeroSemana = date('w', strtotime($dataAtual));
if ($numeroSemana == 0):
$Domingo1 = date('Y-m-d', strtotime('+7 Day'));
elseif ($numeroSemana == 1):
$Domingo1 = date('Y-m-d', strtotime('+6 Day'));
elseif ($numeroSemana == 2):
$Domingo1 = date('Y-m-d', strtotime('+5 Day'));
elseif ($numeroSemana == 3):
$Domingo1 = date('Y-m-d', strtotime('+4 Day'));
elseif ($numeroSemana == 4):
$Domingo1 = date('Y-m-d', strtotime('+3 Day'));
elseif ($numeroSemana == 5):
$Domingo1 = date('Y-m-d', strtotime('+9 Day'));
elseif ($numeroSemana == 6):
$Domingo1 = date('Y-m-d', strtotime('+2 Day'));
endif;
switch ($res['idPlano']) :
case 4://planoTrimestral
$plano = date('Y-m-d', strtotime('+3 Month', strtotime($Domingo1)));
$numeroSemana2 = date('w', strtotime($plano));
break;
case 5://planoSemestral
$plano = date('Y-m-d', strtotime('+6 Month', strtotime($Domingo1)));
$numeroSemana2 = date('w', strtotime($plano));
break;
case 6://planoAnual
$plano = date('Y-m-d', strtotime('+1 Year', strtotime($Domingo1)));
$numeroSemana2 = date('w', strtotime($plano));
break;
endswitch;
if ($numeroSemana2 == 0):
$DomingoFinal = date('Y-m-d', strtotime('+7 Day', strtotime($plano)));
elseif ($numeroSemana2 == 1):
$DomingoFinal = date('Y-m-d', strtotime('+6 Day', strtotime($plano)));
elseif ($numeroSemana2 == 2):
$DomingoFinal = date('Y-m-d', strtotime('+5 Day', strtotime($plano)));
elseif ($numeroSemana2 == 3):
$DomingoFinal = date('Y-m-d', strtotime('+4 Day', strtotime($plano)));
elseif ($numeroSemana2 == 4):
$DomingoFinal = date('Y-m-d', strtotime('+3 Day', strtotime($plano)));
elseif ($numeroSemana2 == 5):
$DomingoFinal = date('Y-m-d', strtotime('+2 Day', strtotime($plano)));
elseif ($numeroSemana2 == 6):
$DomingoFinal = date('Y-m-d', strtotime('+0 Day', strtotime($plano)));
endif;
while($Domingo1 < $DomingoFinal):
$veic['idAnuncio'] = $res['id'];
$veic['idAnunciante'] = $res['idAnunciante'];
$veic['usuario'] = $userId;
$veic['status'] = '1'; //ATIVO
$veic['dt_veic'] = $Domingo1;
//GRAVA AS DADAS NO BANCO
$create->ExeCreate(DB_ANUNCIOS_VEINC, $veic);
$Domingo1 = date('Y-m-d', strtotime('+7 Days', strtotime($Domingo1)));
endwhile;
//ARMAZENA OS DADOS PARA GRAVAR NA TABELA ANUNCIOS_IMPRESSOS
$impr['idAnuncio'] = $res['id'];
$impr['idAnunciante'] = $res['idAnunciante'];
$impr['usuario'] = $userId;
$impr['status'] = '1';
$impr['idSec'] = $res['idSec'];
$impr['texto'] = $res['texto_impresso'];
$impr['origen'] = 'portal';
$impr['created'] = date('Y-m-d H:i:s');
//GRAVA O IMPRESSO NO BANCO
$create->ExeCreate(DB_ANUNCIOS_IMPRESSOS, $impr);
if ($cadastra->getResult()):
$this->Error = ["Pronto! Cadastrado foi realizado com sucesso!", WS_ACCEPT];
$this->Result = $cadastra->getResult();
//GERA SITEMAP E RSS
//Sitemap::geraSitemap();
//Sitemap::geraRss();
endif;acho que dá pra trocar isso
if ($numeroSemana == 0):
$Domingo1 = date('Y-m-d', strtotime('+7 Day'));
elseif ($numeroSemana == 1):
$Domingo1 = date('Y-m-d', strtotime('+6 Day'));
elseif ($numeroSemana == 2):
$Domingo1 = date('Y-m-d', strtotime('+5 Day'));
elseif ($numeroSemana == 3):
$Domingo1 = date('Y-m-d', strtotime('+4 Day'));
elseif ($numeroSemana == 4):
$Domingo1 = date('Y-m-d', strtotime('+3 Day'));
elseif ($numeroSemana == 5):
$Domingo1 = date('Y-m-d', strtotime('+9 Day'));
elseif ($numeroSemana == 6):
$Domingo1 = date('Y-m-d', strtotime('+2 Day'));
endif;
por
$calc = 7 - $NumeroSemana;
$Domingo1 = date("Y-m-d", strtotime("+$calc Day"));
mais ou menos por aí>
Em 22/08/2017 at 08:36, marsolim disse:
acho que dá pra trocar isso
if ($numeroSemana == 0):
$Domingo1 = date('Y-m-d', strtotime('+7 Day'));
elseif ($numeroSemana == 1):
$Domingo1 = date('Y-m-d', strtotime('+6 Day'));
elseif ($numeroSemana == 2):
$Domingo1 = date('Y-m-d', strtotime('+5 Day'));
elseif ($numeroSemana == 3):
$Domingo1 = date('Y-m-d', strtotime('+4 Day'));
elseif ($numeroSemana == 4):
$Domingo1 = date('Y-m-d', strtotime('+3 Day'));
elseif ($numeroSemana == 5):
$Domingo1 = date('Y-m-d', strtotime('+9 Day'));
elseif ($numeroSemana == 6):
$Domingo1 = date('Y-m-d', strtotime('+2 Day'));
endif;
por
$calc = 7 - $NumeroSemana;
$Domingo1 = date("Y-m-d", strtotime("+$calc Day"));
mais ou menos por aí
Boa tarde, show de bola, irei testar valeu...
mas pra que salvar no banco se tendo a data tu podes fazer o que precisar sem ter que ocupar espaço no banco? sem contar que fazendo tudo no php mesmo tu economiza banda por não precisar consultar o banco de dados. já pesquisou as formas como o php pode apresentar as datas? tu pode fazer um loop de 1 até o ultimo dia do mês e ano atual e ver se o dia da semana no formato date('w',strtotime($data)) é 0...