segue abaixo uma explicação passo a passo de como está feito
Está dando erro quando faço a verificação, ele não está verificando o mês, somente o dia, e no banco ele salva normal yyyy-mm-dd.
Eu uso um Script que peguei Pronto Para Formatação De Campos Diversos, Utilizo Para Formatar A Data (página – cronocadsubevento.php){
<script language="JavaScript1.2">
function dataFormat(){
if(document.getElementById("021").value.length == 2)
document.getElementById("021").value += "/";
if(document.getElementById("021").value.length == 5)
document.getElementById("021").value += "/";
}
/* Formatação para qualquer mascara */
function formatar(src, mask) {
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)
if(texto.substring(0,1) != saida) {
src.value += texto.substring(0,1);
}
}
/*
Exemplos:
CEP
OnKeyPress="formatar(this, '#####-###')"
CPF
OnKeyPress="formatar(this, '###.###.###-##')"
DATA
OnKeyPress="formatar(this, '##/##/####')"
*/
</script>
}
No Formulário (página – cronocadsubevento.php){
<form action="cronogravasubevento.php" method="post" name="links" id="links">
<table width="700" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<td width="122" class="textos"><div align="center" class="textos">
<div align="left">Atividade</div>
</div></td>
<td colspan="3"><select name="codatividade" id="codatividade">
<? $pessoa=$_SESSION['id'];
$query = "SELECT *
FROM cronograma
WHERE situacao='NOR' and sub='1' and concluido='NAO' and responsavel='$pessoa'
ORDER BY atividade ASC";
$busca = mysql_query($query, $link);
while($lista=mysql_fetch_array($busca)){ ?>
<option value="<?=$lista['cronograma_id']; ?>"><?=$lista['atividade']; ?></option>
<? } ?></select></td>
</tr>
<tr>
<td class="textos"> </td>
<td colspan="3"> </td>
</tr>
<tr>
<td class="textos">Sub-Responsável:</td>
<td colspan="3"><select name="subresponsavel" id="subresponsavel">
<? $pesqempresa=$_SESSION['empresa'];
$query = "SELECT *
FROM usuario
WHERE situacao='NOR' and empresa='$pesqempresa' and usuario_id > 1
ORDER BY usuario_id ASC";
$busca = mysql_query($query, $link);
while($lista=mysql_fetch_array($busca)){ ?>
<option value="<?=$lista['usuario_id']; ?>"><?=strtoupper($lista['exibicao']); ?></option>
<? } ?></select></td>
</tr>
<tr>
<td class="textos">Sub-Atividade:</td>
<td colspan="3"><input name="subatividade" type="text" id="subatividade" size="60" maxlength="60" onChange="java script:this.value=this.value.toUpperCase();"></td>
</tr>
<tr>
<td class="textos"> </td>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="4" class="textos"><strong>Sub-Previsão</strong></td>
</tr>
<tr>
<td class="textos"><div align="left">Data Inicio:</div></td>
<td width="325"><input name="subdatainicio" type="text" id="telefone4" value="<?=date("d/m/Y", $data_nova = strtotime($dataagora));?>" size="20" maxlength="10" OnKeyPress="formatar(this, '##/##/####')"> </td>
<td width="233" class="textos"><div align="left"></div></td>
</tr>
<tr>
<td class="textos"><div align="left">Data Fim:</div></td>
<td><input name="subdatafim" type="text" id="data" value="<?=date("d/m/Y", $data_nova = strtotime($dataagora));?>" size="20" maxlength="10" OnKeyPress="formatar(this, '##/##/####')"> </td>
<td class="textos"> </td>
</tr>
<tr>
<td> </td>
<td colspan="3"> </td>
</tr>
<tr>
<td colspan="4"><div align="center">
<input type="submit" name="Submit" value=" Cadastrar ">
</div></td>
</tr>
</table>
</form>
}
Recebo o formulário na pagina ( cronogravasubevento.php ){
<?
$codatividade=$HTTP_POST_VARS['codatividade'];
$subresponsavel=$HTTP_POST_VARS['subresponsavel'];
$subatividade=$HTTP_POST_VARS['subatividade'];
$subdatainicio = explode("/",$HTTP_POST_VARS['subdatainicio']);
$subdatainicio = $subdatainicio{2}."-".$subdatainicio{1}."-".$subdatainicio{0};
$subdatafim = explode("/",$HTTP_POST_VARS['subdatafim']);
$subdatafim = $subdatafim{2}."-".$subdatafim{1}."-".$subdatafim{0};
$query = "SELECT *
FROM cronograma
WHERE situacao='NOR' and cronograma_id='$codatividade'
ORDER BY datainicio ASC";
$busca = mysql_query($query, $link);
$listas=mysql_fetch_array($busca);
$sqlvarre = "SELECT *
FROM usuario
WHERE usuario_id='$subresponsavel'";
$buscando = mysql_query($sqlvarre);
$varre = mysql_num_rows($buscando);
$rs = mysql_fetch_array($buscando);
$responsavel=$rs["exibicao"];
$SQL="INSERT INTO cronogramasub (codatividade, subresponsavel, subatividade)
values ('$codatividade', '$subresponsavel', '$subatividade')";
$result=mysql_query($SQL);
$SQL2="INSERT INTO cronodata (subatividade_id, datainicio, datafim, usuario)
values (LAST_INSERT_ID(), '$subdatainicio', '$subdatafim', '$subresponsavel')";
$result2=mysql_query($SQL2);
if (($result)and($result2)) {
print "<strong><font face='Verdana, Arial, Helvetica, sans-serif' color='#336699' size='2'>Sub-Atividade Cadastrada</font></strong><br><p><a href='./cronoveevento.php'>Voltar</a><p>";
// INICIO - ENVIAR E-MAIL DE AVISO PARA AS PESSOAS
RETIRADO O CODIGO DE ENVIO DE EMAIL
// FIM - ENVIAR E-MAIL DE AVISO PARA AS PESSOAS
}
else {
print "<strong><font face='Verdana, Arial, Helvetica, sans-serif' color='#336699' size='2'>Deu Erro</font></strong><br>".mysql_error()."<p><a href='./cronograma.php'>Voltar</a><p>";
}
?>
}
Com isso está gravado no banco de dados a data, agora na parte de baixo é na pagina (cronoveevento.php), nesta eu faço a comparação de datas{
<? $codatividade=$lista["cronograma_id"];
$datahoje=date("d/m/Y", $data_nova = strtotime(date("Y-m-d")));
$query1 = "SELECT *
FROM cronogramasub
WHERE situacao='NOR' and codatividade='$codatividade'";
$busca1 = mysql_query($query1);
while($lista1=mysql_fetch_array($busca1)){
$subativi_id=$lista1["subatividade_id"];
$codigando = "SELECT *
FROM cronodata
WHERE usuario='$exibeidnome' and subatividade_id='$subativi_id' and situacao='NOR'";
$pegandos = mysql_query($codigando);
$varrando = mysql_num_rows($pegandos);
$rsando = mysql_fetch_array($pegandos);
// Inicio - Mostrar cores dependendo do status da subatividade
$subconcluido=$lista1["concluido"];
$subdataconcluido_=date("d/m/Y", $data_nova = strtotime($rsando["dataconcluido"]));
$subdatainicio_=date("d/m/Y", $data_nova = strtotime($rsando["datainicio"]));
$subdatafim_=date("d/m/Y", $data_nova = strtotime($rsando["datafim"]));
$novadatafim=$rsando["novadatafim"];
if ($novadatafim == "0000-00-00"){
$datafinal=$subdatafim_;
}else{
$datafinal=date("d/m/Y", $data_nova = strtotime($novadatafim));
}
if ($subconcluido=="SIM"){
$conclued="SIM";
if ($subdataconcluido_ > $subdatafim_){
$cor="#FFD8BC"; // concluido em atraso
}else{
$cor="#B6FFED"; // concluido no tempo certo
}
}else{
$conclued="NAO";
if ($datahoje <= $datafinal){
$cor="#FFFFFF"; // está em dia
$liberadata="CERTO";
}else{
$cor="#FAAFAF"; // está atrasado
$liberadata="ATRASO"; // se estiver entraso coloca a mensagem para abrir uma caixa de cadastro de datas
}
}
// Fim - Mostrar cores dependendo do status da subatividade
?>
MAIS ABAIXO DA PAGINA ELE MANDA IMPRIMIR, SEGUE O CODIGO:
<table border="0" align="right">
<tr>
<td width="66"><span class="noticia">Data Inicio </span></td>
<td width="100"><div align="center"><span class="noticia"><?=$subdatainicio_; ?></span></div> </td>
<td width="11"> </td>
<td width="58"><span class="noticia">Data Fim</span></td>
<td width="100"><div align="center"><span class="noticia"><?=$datafinal; ?></span></div>
</td>
<?
$nomemaiuscula=strtoupper($_SESSION['login']);
if ($nomemaiuscula != $subresponsavel){ // Se entrar eu verifico o cronograma de uma outra pessoa
if ($lista1["concluido"]=="NAO"){
?>
<td width="110"><div align="right"><font size="1"><span class="noticia"> </span></font></div></td>
<?
}else{
?>
<td width="110"><div align="right" class="noticia"><font size="1" color="#009933">CONCLUIDO<br>Dia: <?=$subdataconcluido_; ?></font></div></td>
<?
}
}else{ // Se entrar eu verifico o meu cronograma
if ($lista1["concluido"]=="NAO"){
if ($liberadata=="ATRASO"){ ?>
<td width="110"><div align="right"><font size="1"><a href="java script:Start('cronocadnovadata.php?caddata=<?=$lista1['subatividade_id']?>')">Cadastrar nova Data</a></font></div></td>
<? }else{
?>
<td width="110"><div align="right"><font size="1"><a href="java script:concluir('<?=$lista1['subatividade_id']?>')">Concluir</a> | <span class="noticia">Excluir</span></font></div></td>
<?
}
}else{
?>
<td width="110"><div align="right" class="noticia"><font size="1" color="#009933">CONCLUIDO<br>Dia: <?=$subdataconcluido_; ?></font></div></td>
<?
}
}
?>
</tr>
</table>
}Ele não está comparando corretamente as datas. VALEU A AJUDA
Edição feita por: _SherlocK_, 28/03/2006, 09:08.