Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

patrickpkk

Tratando datas antes de salvar no DB

Recommended Posts

Bom dia, eu estou montando um cadastro de férias, a principio eu pedia o nome do funcionario a data inicial e a data final das ferias, agora mudei, continuo pedindo o nome do funcionario, a data inicial e um radio box para o usuario selecionar 20 ou 30 dias, eu queria saber se e possivel que ao usuario escolher a data inicial e os dias, apareça na tela de alert os dias de ferias 20 ou 30 e a data de termino das férias, e também salvar ambos no db.. segue meu codigo:

 

<?php
include "config.php";
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$idcolab = $_POST['nome'];
$datai = $_POST['datai'];
$datai = implode("-",array_reverse(explode("/",$datai)));
$dataf = $_POST['dataf'];
$dataf = implode("-",array_reverse(explode("/",$dataf)));
$data_inicial = $datai;
$data_final = $dataf;
$dias = $_POST['dias'];
$x = mysql_query("INSERT INTO ferias.cadastroferias (idcolab,datai,dataf,dias) VALUES ('$idcolab','$datai','$dataf','$dias')");
if($x){
echo"<script language='javascript' type='text/javascript'>
alert('Cadastro efetuado com sucesso e com $dias dias de f7eacute;rias');
window.location.href='ferias1pag.php';
</script>";
}else{
echo"O cadastro nao pode ser efetuado. ";
echo mysql_error();
}
}
?>
<html>
<head>
<script language="javascript">
function validaSelect() {
var nome = form1.nome.value;
if (nome == "Selecione...") {
alert("Selecione um colaborador");
form1.nome.focus();
return false;
}
}
</script>
<title>Cadastro de Férias</title>
<body>
<?php
include ("config.php");
$query = mysql_query("SELECT id,nome FROM cadastrocolab");
?>
<form name="form1" method="post" action="">
<table width="0%" border="1" cellspacing="1" bgcolor="#339900">
<tr>
<td width="357" align="center" bgcolor="#F66"><strong><font color="#FFF" face="verdana" style=" font-family: serif; font-size: 20px;"> Cadastro de Férias </font></strong></td>
</tr>
<tr>
<td height="98" valign="top" bgcolor="#F66"> <table width="505" height="115" border="3" cellspacing="0">
<tr>
<td style="width: 100px; height: 40px;"><strong><font color="#Fff" face="verdana" style=" font-family: serif; font-size: 15px;">Nome:</font></strong></td>
<td><select id="nome" name="nome" >
<option>Selecione...</option>
<?php while($prod = mysql_fetch_array($query)) { ?>
<option value="<?php echo($prod['id']); ?>" > <?php echo($prod['nome']); ?> </option>
<?php } ?>
</tr>
<tr>
<td style="width: 100px; height: 40px;"><strong><font color="#Fff" face="verdana" style=" font-family: serif; font-size: 15px;">Férias Ínicio: </font></strong></td>
<td width="100"><input name="datai" type="date" size="68" required> ex: 24/05/2015</td>
</tr>
<tr>
<td style="width: 100px; height: 40px;"><strong><font color="#Fff" face="verdana" style=" font-family: serif; font-size: 15px;">Tempo de férias: </font></strong></td>
<td width="100"><input type="radio" name="dias" value="20"> 20 Dias <input type="radio" name="dias" value="30"> 30 Dias </td>
</tr>
<tr>
<td style="width: 100px; height: 40px;"><strong><font color="#Fff" face="verdana" style=" font-family: serif; font-size: 15px;">Férias Termino: </font></strong></td>
<td width ="314"><input name="dataf" type="date" size="68" required> ex: 23/06/2015</td>
</tr>
</table>
<input type="submit" value="Enviar" style="width: 250px; height: 40px; color: #FFF; background-color: #F66;" onclick="return validaSelect()"> <input type="submit" value="Voltar ao menu principal" style="width: 250px; height: 40px; color: #FFF; background-color: #F66;"value="Voltar ao menu principal"onclick="javascript: location.href='ferias1pag.php';" /></td>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Segue abaixo a função que você pode uitilizar no php para somar dias a partir de uma data. (no caso estou somando 30 com a data atual). Montei agora rapidamente e não testei .. mas é essa lógica.

<?php

echo date('d/m/Y', strtotime("+30 days"));

?>

Caso você queira fazer a lógica do lado do banco de dados, você pode utilizar a função do MYSQL DATEDIFF() só dar uma pesquisada melhor que você encontra.

 

Espero ter ajudado.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.