Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal, estou tentando inserir um numero determinado de dias em uma data, somar esses dias a data. Essa data, eu já tenho no banco, e criei nessa mesma tabela um outro campo, que armazenaria, essa nova data, com esses dias acrescentados. Só que estou tendo dois problemas.
1º - No loop que estou fazendo, ele está enviando corretamento o número de datas, só que está enviando apenas o último valor.
2º - Não estou conseguindo enviar pela data que tenho cadastrada no banco, ele só está enviando pela funação date do php.
A função que estou usando é essa:
$quant = isset($_POST['periodo']) ? $_POST['periodo'] : '';
$data_anterior = isset($_POST['data']) ? $_POST['data'] : '';
$equipamento = isset($_POST['equipamento']) ? $_POST['equipamento'] : '';
function addDayIntoDate($date,$days) {
$thisyear = substr ( $date, 0, 4 );
$thismonth = substr ( $date, 4, 2 );
$thisday = substr ( $date, 6, 2 );
$nextdate = mktime ( 0, 0, 0, $thismonth, $thisday + $days, $thisyear );
return strftime("%d/%m/%Y", $nextdate);}
function subDayIntoDate($date,$days) {
$thisyear = substr ( $date, 0, 4 );
$thismonth = substr ( $date, 4, 2 );
$thisday = substr ( $date, 6, 2 );
$nextdate = mktime ( 0, 0, 0, $thismonth, $thisday - $days, $thisyear );
return strftime("%d/%m/%Y", $nextdate);}
$date = date("Ymd");
$date1 = date("d/m/Y");
E esse é o código de alteração no banco:
foreach($_POST['periodo'] as $IdArray => $ValueArray)
{
$nextdate = addDayIntoDate($date,"$quant[$IdArray]"); // Adiciona quant.
//print $nextdate."<br>";
$data_final = $nextdate;
echo $data_final."<br>" ;
$sql = "UPDATE certificado SET data_final='$data_final[$IdArray]' ";
$consulta = mysql_query($sql);
}
$consulta=mysql_query($sql);
if(isset($consulta)){
echo "<br>";
echo "Dados enviados com sucesso";
}
else
{
echo "<br>";
echo "Nao foi possivel enviar os dados";
}
?>
Desde já agradeço a todos.
Att
Tiago Mello!
Carregando comentários...