Estou aprendendo PHP e me deparei com um problema aparentemente simples, mas que está me impedindo de dar seguimento a um pequeno projeto pessoal. A estrutura que desenvolvi é esta:
<?php
// parâmetros de sistema
header("Content-Type: text/html; charset=utf-8",true);
date_default_timezone_set('America/Sao_Paulo');
// carregando funcoes
require_once "funcoes.php";
// carregando conexoes
require_once "conexao.php";
// capturando variáveis get
if ((!isset($_GET["xdiai"])) || (!isset($_GET["xmesi"])) || (!isset($_GET["xanoi"])) || (!isset($_GET["xdiaf"])) || (!isset($_GET["xmesf"])) || (!isset($_GET["xanof"])) || (!isset($_GET["xinicio"])) || (!isset($_GET["xfim"])))
{
echo "<script>alert('Uma das variáveis não foi passada')</script>";
header("Location:inc_ap.php");
}
// análise de anos
if ($anoi > $anof)
{
echo "<script>alert('Ano inicial maior que final')</script>";
header("Location:inc_ap.php");
}
// análise de meses
if (($anoi == $anof) && ($mesf < $mesi))
{
echo "<script>alert('Mês inicial maior que final')</script>";
header("Location:inc_ap.php");
}
// análise de dias
if (($anoi == $anof) && ($mesf == $mesi)&& ($diaf < $diai))
{
echo "<script>alert('Dia inicial maior que final')</script>";
header("Location:inc_ap.php");
}
Simplesmente preciso incrementar uma data ($datai), que é composta por três variáveis, até um limite ($dataf). Mas, quando consigo incrementar a data, não consigo utilizá-la dentro da estrutura FOR.
Não usei outra estrutura de repetição porque me compliquei mais nas outras do que no FOR.
Se alguém puder me dar uma ajuda, agradeço imensamente.
Incrementar Datas dentro de estrutura de repetição
em PHP
Postado
Olá.
Estou aprendendo PHP e me deparei com um problema aparentemente simples, mas que está me impedindo de dar seguimento a um pequeno projeto pessoal. A estrutura que desenvolvi é esta:
// parâmetros de sistema
header("Content-Type: text/html; charset=utf-8",true);
date_default_timezone_set('America/Sao_Paulo');
// carregando funcoes
require_once "funcoes.php";
// carregando conexoes
require_once "conexao.php";
if ((!isset($_GET["xdiai"])) || (!isset($_GET["xmesi"])) || (!isset($_GET["xanoi"])) || (!isset($_GET["xdiaf"])) || (!isset($_GET["xmesf"])) || (!isset($_GET["xanof"])) || (!isset($_GET["xinicio"])) || (!isset($_GET["xfim"])))
{
echo "<script>alert('Uma das variáveis não foi passada')</script>";
header("Location:inc_ap.php");
}
$diai = $_GET["xdiai"];
$mesi = $_GET["xmesi"];
$anoi = $_GET["xanoi"];
$inicio = $_GET["inicio"];
$diaf = $_GET["xdiaf"];
$mesf = $_GET["xmesf"];
$anof = $_GET["xanof"];
$fim = $_GET["fim"];
// análise de anos
if ($anoi > $anof)
{
echo "<script>alert('Ano inicial maior que final')</script>";
header("Location:inc_ap.php");
}
// análise de meses
if (($anoi == $anof) && ($mesf < $mesi))
{
echo "<script>alert('Mês inicial maior que final')</script>";
header("Location:inc_ap.php");
}
if (($anoi == $anof) && ($mesf == $mesi)&& ($diaf < $diai))
{
echo "<script>alert('Dia inicial maior que final')</script>";
header("Location:inc_ap.php");
}
$dataf = DateTime::createFromFormat('d/m/Y',$diaf."/".$mesf."/".$anof);
$somaIntervalo = DateInterval::createFromDateString('1 days');
for($wd = $datai; $wd <= $dataf; strtotime($wd."+1 days"))
{
echo date('d/m/Y',$wd);
}
Simplesmente preciso incrementar uma data ($datai), que é composta por três variáveis, até um limite ($dataf). Mas, quando consigo incrementar a data, não consigo utilizá-la dentro da estrutura FOR.
Não usei outra estrutura de repetição porque me compliquei mais nas outras do que no FOR.
Se alguém puder me dar uma ajuda, agradeço imensamente.
Abração.