Jump to content

Limitar calendário pela data inicial e final


Etiqueta
 Share

Recommended Posts

Boa tarde,

nem sei bem em que secção hei-de colocar esta dúvida.

estou a desenvolver um registo de horas de funcionários.

Neste momento tenho 3 inputs para colocar o dia, mes e ano respectivamente para a data inicial e mais 3 para a data final e de seguida é gerada uma tabela com a listagem de dias por linha da tabela.

O que pretendo fazer é limitar o conteudo da tabela, ou seja, aparecer desde da data inical à data final, em vez de aparecer o mesmo todo.

http://alojaimagens.com/viewer.php?file=u0n21l0vx7yb0si6oft.jpg

http://alojaimagens.com/viewer.php?file=f46whq5k03obwg1326u9.jpg

aqui fica o código:

<?php
   session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22>
<html xmlns="http://www.w3.org/1999/xhtml%22>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Registo de Horas</title>
<link rel="icon" type="image/x-icon" href="img/favicon.jpg" />
<link href="css/header.css" rel="stylesheet" type="text/css" />
<link href="css/RegistoHoras.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="JS/teste.js"></script>


</head>
<body>
<div id="container">
	<div id="header">
	   <img border="0" src="img/barra_nsemprega.png" />
	</div>

	<?php
  include 'conexao.php';


  //Recebe os dados do formulário
  $DataInicio = strip_tags(trim($_POST['diaInicio'])) + strip_tags(trim($_POST['mesInicio'])) + strip_tags(trim($_POST['anoInicio']));
  $DataFim = strip_tags(trim($_POST['diaFinal'])) + strip_tags(trim($_POST['mesFinal'])) + strip_tags(trim($_POST['anoFinal']));

  $sql = "SELECT * FROM funcionario WHERE DataInicio = '$DataInicio' AND DataFim = '$DataFim'";
  $rs = mysql_query($sql);

  if(mysql_num_rows($rs) == 1) {
$user = mysql_fetch_array($rs);


$_SESSION["DataInicio"] = $DataInicio;
$_SESSION["DataFim"] = $DataFim;

  }

 ?>

	<form name="f" action="javascript:
	var dia=Number(document.f.diaInicio.value);
 var ano=Number(document.f.anoInicio.value);
 var mes=Number(document.f.mesInicio.value);
 gerarCalendarioMensal (ano, mes);
	document.close();
 ">
 <table>
	 <tr>
		 <td><label>Data de inicio</td>
			<td><input type="text" name="diaInicio" value="1" size="4"/>/
			<input type="text" name="mesInicio" value="6" size="4" />/
			<input type="text" name="anoInicio" value="2012" size="4"/>
			</label></td>
	 </tr>
		<tr>
		 <td><label>Data de fim</td>
			<td><input type="text" name="diaFinal" value="31" size="4"/>/
			<input type="text" name="mesFinal" value="6" size="4"/>/
			<input type="text" name="anoFinal" value="2012" size="4"/>
			</label></td>
	 </tr>
		<tr>
		 <td></td>
<td><input type="submit" id="dados" name="dados_enviar" value="Ver"/></td>
	 </tr>
	</table>
</form>

	</div>
</div>
</body>
</html>
 
MESES=["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
 function bissexto(ano){
 return (ano%400==0)||((ano%4==0)&&(ano%100!=0));}

 function dateToString(d){
  var MM=["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"];
  var yyyy=d.getFullYear(), mm=MM[d.getMonth()];//+1
  var dd=d.getDate();

  if(mm<10) mm="0"+mm;
  if (dd<10) dd="0"+dd;

  return dd+"-"+mm;
 }//dateToString

 function diaSemanal(d){
  var DDS=["domingo", "segunda-feira", "terca-terça", "quarta-feira", "quinta-feira", "sexta-feira", "sabado"];
  var dd=d.getDate(), dds=DDS[d.getDay()];

  if (dd<10) dd="0"+dd;

  return dds;
 }//dateToString


 var IMPOSSIVEL=-1;

 function numeroDiasNoMes(mes, ano){
  if (mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12) return 31;
  else
if (mes==4 || mes==6 || mes==9 || mes==11)
 return 30;
else
 if (mes==2) return bissexto(ano)? 29:28;
 else return IMPOSSIVEL;
 }//numeroDiasNoMes


 function gerarCalendarioMensal(anoInicio, mesInicio){
  var dia=new Date(ano, mes-1, 1); //primeiro dia do mes
  var limite=numeroDiasNoMes(mes, ano); //28, 29, 30, 31

  document.write("<div id='container'>");

 document.write("<div id='registoH'>");
	document.write("<form name='f_criarRegistoH' id='f_criarRegistoH_' method='post' action='' enctype='multipart/form-data'>");
  document.write("<table border='1'>");

  document.write("<tr align='center'>");
			  document.write("<td style='width: 85px;'><p><b>Data</b></td>");
			  document.write("<td style='width: 85px;'><p><b>Dia</b></td>");
			  document.write("<td style='width: 85px;'><p><b>Entrada</b></td>");
			  document.write("<td style='width: 85px;'><p><b>Saída</b></td>");
			  document.write("<td style='width: 85px;'><b>Horas Normais</b></td>");
			  document.write("<td style='width: 85px;'><b>Horas Turno</b></td>");
			  document.write("<td style='width: 85px;'><b>Feriado / 100%</b></td>");
			  document.write("<td style='width: 85px;'><b>Faltas</b></td>");
		  document.write("</tr>");

 document.write("<?php");

  document.write("require 'conexao.php';");
  document.write("$DataInicio = $_POST['DataInicio'];");
  document.write("$DataFim  = $_POST['DataFim'];");

  document.write("$sql = mysql_query('SELECT  * FROM linha');"); //Data é da tabela Linha - tenho que fazer um INNER JOIN (SELECT funcionario.Id_Funcionario, funcionario.DataInicio, funcionario.DataFim, linha.Id_Linha, linha.Data FROM funcionario INNER JOIN linha ON funcionario.Id_Funcionario = linha.Id_Linha WHERE linha.Data >= '$DataInicio' AND linha.Data <= '$DataFim' ORDER BY linha.Data)

  //SELECT * FROM funcionario WHERE Data >= '$DataInicio' AND Data <= '$DataFim' ORDER Data
  document.write("while($rs = mysql_fetch_array($sql)){");
   document.write("$Data = $rs['Data'];");
   document.write("$Dia = $rs['Dia'];");
   document.write("$HEntrada = $rs['HEntrada'];");
   document.write("$HSaida = $rs['HSaida'];");
   document.write("$HoraTurno = $rs['HoraTurno'];");
   document.write("$HoraNormal = $rs['HoraNormal'];");
  document.write("}");
 document.write("?>");

  document.write("<?php if(!isset($_SESSION['DataInicio'] < $_SESSION['DataFim'] )){ ?>");

  for (var contador=1; contador<=limite; contador++){
fraseParaODia=dateToString (dia);
fraseParaSemana=diaSemanal(dia);
if (dia.getDate()==1)
 /*document.write("<h1>"+MESES[dia.getMonth()]+"</h1>"); */
//document.write(fraseParaODia+"<br>");
 document.write("<br>");


 document.write("<tr  style='text-align: center;'>");
  document.write("<td style='width: 104px;'>");
   document.write(fraseParaODia+"<br>");
  document.write("</td>");
  document.write("<td style='width: 104px;'>");
   document.write(fraseParaSemana+"<br>");
  document.write("</td>");

  document.write("<td style='width: 104px;'><input name='HEntrada' type='text' id='HEntrada' placeholder='Hora de entrada' style='width: 104px;'/></td>");

  document.write("<td style='width: 104px;'><input name='HSaida' type='text' id='HSaida' placeholder='Hora de saída' style='width: 104px;'/></td>");

  document.write("<td style='width: 104px;'><input name='HoraTurno' type='text' id='HoraTurno' placeholder='Horas de turno' style='width: 104px;'/></td>");

  document.write("<td style='width: 104px;'><input name='HoraNormal' type='text' id='HoraNormal' placeholder='Horas normais' style='width: 104px;'/></td>");

  document.write("<td style='width: 104px;'><input name='NumHorasFeriado' type='text' id='NumHorasFeriado' placeholder='Horas do feriado' style='width: 104px;'/></td>");

  document.write("<td style='width: 104px;'><input name='NumHorasFalta' type='text' id='NumHorasFalta' placeholder='Horas de faltas' style='width: 104px;'/></td>");
  document.write("</tr>");

dia.setDate(dia.getDate()+1);
document.write("<?php } ?>");
  }//for

  document.write("</table>");


  document.write("<br>");

  document.write("<table>");
  document.write("<tr>");
					document.write("<td class='campos'>Prémio Produtividade:");
					document.write("</td>");
					document.write("<td>");
						document.write("<input name='PremioP' type='text' id='PremioP' placeholder='Digite o valor'/>€");
					document.write("</td>");
				document.write("</tr>");
  document.write("</table>");

  document.write("</form>");

		document.write("<input type='submit' name='buttonRegistoHoras' id='buttonRegistoHoras' value='Guardar' />");

  document.write("</div>");

 document.write("</div>");
 }//gerarCalendarioMensal
 

podem dar-me uma ajudinha?

desde já, muito obrigada

Link to comment
Share on other sites

olha para o teu código:

  $DataInicio = strip_tags(trim($_POST['diaInicio'])) + strip_tags(trim($_POST['mesInicio'])) + strip_tags(trim($_POST['anoInicio']));
  $DataFim = strip_tags(trim($_POST['diaFinal'])) + strip_tags(trim($_POST['mesFinal'])) + strip_tags(trim($_POST['anoFinal']));

  $sql = "SELECT * FROM funcionario WHERE DataInicio = '$DataInicio' AND DataFim = '$DataFim'";

agora imagina que :

diaInicio = 1

mesInicio = 1

anoInicio = 2000

diaFinal = 31

mesFinal = 12

anoFinal = 2000

o SQL criado será

SELECT * FROM funcionario WHERE DataInicio = '112000' AND DataFim = '31122000'";

isto não parece muito bem pois não ??

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

substitui os "+" por ."/".

Obrigada.

Como é limito o calendário pela data inical e final?

já fiz

function gerarCalendarioMensal(ano, mes){
var dia=document.write("<?php $_SESSION['DataInicio']; ?> "); //primeiro dia do mes
var limite=document.write("<?php$_SESSION['DataFim']; ?> ");

mas continua sem dar

Edited by Etiqueta
Link to comment
Share on other sites

passei o ficheiro javascript para php. ficou assim:

<?php
session_start();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22>
<html xmlns="http://www.w3.org/1999/xhtml%22>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registo de Horas</title>
<link rel="icon" type="image/x-icon" href="img/favicon.jpg" />
<link href="css/header.css" rel="stylesheet" type="text/css" />
<link href="css/RegistoHoras.css" rel="stylesheet" type="text/css" />

</head>
<body>
<div id="container">
 <div id="header">
 <img border="0" src="img/barra_nsemprega.png" />
 </div>

 <?php

include 'conexao.php';


//Recebe os dados do formulário
/*$DataInicio = mysql_real_escape_string(strip_tags($_POST["DataInicio"]));
$DataFim = mysql_real_escape_string($_POST["DataFim"]);*/
$DataInicio = strip_tags(trim($_POST['diaInicio'])) ."/". strip_tags(trim($_POST['mesInicio'])) ."/". strip_tags(trim($_POST['anoInicio']));
$DataFim = strip_tags(trim($_POST['diaFinal'])) ."/". strip_tags(trim($_POST['mesFinal'])) ."/". strip_tags(trim($_POST['anoFinal']));

$sql = "SELECT * FROM funcionario WHERE DataInicio = '$DataInicio' <= DataFim = '$DataFim'";
$rs = mysql_query($sql);

if(mysql_num_rows($rs) == 1) {
$user = mysql_fetch_array($rs);


$_SESSION["DataInicio"] = $DataInicio;
$_SESSION["DataFim"] = $DataFim;

}

?>



 <form name="f" action="teste.php">
<table>
 <tr>
	 <td><label>Data de inicio</td>
		 <td><input type="text" name="diaInicio" value="1" size="4"/>/
		 <input type="text" name="mesInicio" value="6" size="4" />/
		 <input type="text" name="anoInicio" value="2012" size="4"/>
		 </label></td>
 </tr>
	 <tr>
	 <td><label>Data de fim</td>
		 <td><input type="text" name="diaFinal" value="31" size="4"/>/
		 <input type="text" name="mesFinal" value="6" size="4"/>/
		 <input type="text" name="anoFinal" value="2012" size="4"/>
		 </label></td>
 </tr>
	 <tr>
	 <td></td>
<td><input type="submit" id="dados" name="dados_enviar" value="Ver"/></td>
 </tr>
 </table>
</form>
 </div>
</div>
</body>
</html>

teste.php:

<?php

$MESES=array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
function bissexto($ano){
return ($ano%400==0)||(($ano%4==0)&&($ano%100!=0));}

function dateToString($d){
$MM=array("Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez");
$yyyy=strip_tags(trim($_POST['anoInicio']));
$mm=$MM[strip_tags(trim($_POST['mesInicio']))];
$dd=$d.date();

if($mm<10) $mm="0"+$mm;
if ($dd<10) $dd="0"+$dd;

return $dd+"-"+$mm;
}//dateToString

function diaSemanal($d){
$DDS=array("domingo", "segunda-feira", "terca-terça", "quarta-feira", "quinta-feira", "sexta-feira", "sabado");
$dd=$d.date();
$dds=$DDS[strip_tags(trim($_POST['diaInicio']))];

if ($dd<10) $dd="0"+$dd;

return $dds;
}//dateToString

$IMPOSSIVEL=-1;

function numeroDiasNoMes($mes, $ano){
if ($mes==1 || $mes==3 || $mes==5 || $mes==7 || $mes==8 || $mes==10 || $mes==12) return 31;
else
if ($mes==4 || $mes==6 || $mes==9 || $mes==11)
return 30;
else
if ($mes==2) return bissexto(ano)? 29:28;
else return $IMPOSSIVEL;
}//numeroDiasNoMes


function gerarCalendarioMensal($ano, $mes){
$dia=new date($ano, $mes-1, 1); //primeiro dia do mes
$limite=$numeroDiasNoMes($mes, $ano); //28, 29, 30, 31

echo "<table>";
echo "<tr>";
 echo "<td>";
echo "<table>";
 echo "<tr>";
 echo "<td><b>Trabalhador Temporário</b></td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Nome:</td>";
 echo "<td>select</td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Categoria:</td>";
 echo "<td>select</td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Período de Trabalho:</td>";
 echo "<td>DataInicio + DataFim</td>";
 echo "</tr>";

echo "</table>";
 echo "</td>";

 echo "<td>";
echo "<table>";
 echo "<tr>";
 echo "<td><b>Empresa Cliente</b></td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Ciente:</td>";
 echo "<td>select</td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Contribuinte:</td>";
 echo "<td>select</td>";
 echo "</tr>";
 echo "<tr>";
 echo "<td>Ano:</td>";
 echo "<td>select</td>";
 echo "</tr>";

echo "</table>";
 echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";

echo "<div id='registoH'>";
 echo "<form name='f_criarRegistoH' id='f_criarRegistoH_' method='post' action='' enctype='multipart/form-data'>";
echo "<table border='1'>";

echo "<tr align='center'>";
			 echo "<td style='width: 85px;'><p><b>Data</b></td>";
			 echo "<td style='width: 85px;'><p><b>Dia</b></td>";
			 echo "<td style='width: 85px;'><p><b>Entrada</b></td>";
			 echo "<td style='width: 85px;'><p><b>Saída</b></td>";
			 echo "<td style='width: 85px;'><b>Horas Normais</b></td>";
			 echo "<td style='width: 85px;'><b>Horas Turno</b></td>";
			 echo "<td style='width: 85px;'><b>Feriado / 100%</b></td>";
			 echo "<td style='width: 85px;'><b>Faltas</b></td>";
		 echo "</tr>";


 require 'conexao.php';

$DataInicio = $_POST['DataInicio'];
$DataFim = $_POST['DataFim'];

$sql = mysql_query('SELECT * FROM linha');

 //SELECT * FROM funcionario WHERE Data >= '$DataInicio' AND Data <= '$DataFim' ORDER Data
 while($rs = mysql_fetch_array($sql)){
$Data = $rs['Data'];
$Dia = $rs['Dia'];
$HEntrada = $rs['HEntrada'];
$HSaida = $rs['HSaida'];
$HoraTurno = $rs['HoraTurno'];
$HoraNormal = $rs['HoraNormal'];
 }

if((isset($_SESSION['DataInicio'])) < (isset($_SESSION['DataInicio']))){

for ($contador=1; $contador<=$limite; $contador++){
$fraseParaODia=dateToString($dia);
$fraseParaSemana=diaSemanal($dia);
if ($dia.date()==1)

echo "<br>";


echo "<tr style='text-align: center;'>";
 echo "<td style='width: 104px;'>";
$fraseParaODia;
echo "<br>";
 echo "</td>";
 echo "<td style='width: 104px;'>";
$fraseParaSemana;
echo "<br>";
 echo "</td>";

 echo "<td style='width: 104px;'><input name='HEntrada' type='text' id='HEntrada' placeholder='Hora de entrada' style='width: 104px;'/></td>";
 echo "<td style='width: 104px;'><input name='HSaida' type='text' id='HSaida' placeholder='Hora de saída' style='width: 104px;'/></td>";
 echo "<td style='width: 104px;'><input name='HoraTurno' type='text' id='HoraTurno' placeholder='Horas de turno' style='width: 104px;'/></td>";
 echo "<td style='width: 104px;'><input name='HoraNormal' type='text' id='HoraNormal' placeholder='Horas normais' style='width: 104px;'/></td>";
 echo "<td style='width: 104px;'><input name='NumHorasFeriado' type='text' id='NumHorasFeriado' placeholder='Horas do feriado' style='width: 104px;'/></td>";
 echo "<td style='width: 104px;'><input name='NumHorasFalta' type='text' id='NumHorasFalta' placeholder='Horas de faltas' style='width: 104px;'/></td>";

echo "</tr>";

$dia.setDate($dia.getDate()+1);
}
}//for

echo "</table>";


echo "<br>";

echo "<table>";
echo "<tr>";
		 echo "<td class='campos'>Prémio Produtividade:";
			 echo "</td>";
			 echo "<td>";
			 echo "<input name='PremioP' type='text' id='PremioP' placeholder='Digite o valor'/>€";
			 echo "</td>";
		 echo "</tr>";
echo "</table>";

echo "</form>";

	 echo "<input type='submit' name='buttonRegistoHoras' id='buttonRegistoHoras' value='Guardar' />";

echo "</div>";

echo "</div>";
}//gerarCalendarioMensal
?>

na url passa os valores mas a página fica em branco

Edited by Etiqueta
Link to comment
Share on other sites

o que pretendo fazer é escolher uma data inicial e outra final e gerar um calendário.

Exemplo:

DataInicio=10/06/2012

DataFim= 20/06/2012

Resultado:

10/06/2012

11/06/2012

12/06/2012

13/06/2012

14/06/2012

15/06/2012

16/06/2012

17/06/2012

18/06/2012

19/06/2012

20/06/2012

podem ajudar-me?

Link to comment
Share on other sites

Põe aí um código legível e bem indentado que eu dou uma ajuda.

Para além disso, mostra exemplo da mecânica do sistema que queres (o que o utilizdador faz (inclui o js) e o que o servidor faz).

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

O que pretendo fazer é limitar o conteudo da tabela, ou seja, aparecer desde da data inical à data final, em vez de aparecer o mesmo todo.

esta data que quero gerar não está na base de dados. Não pretendo fazer um filtro ou pesquisa

eu até ajudava, mas ou não sabes te explicar ou não sabes o que queres ...

afinal queres listar todos as entradas na base de dados dentro das duas datas ou queres simplesmente ignorar o que tens na base de dados e apresentar n linhas com das datas consecutivas entre as duas datas ???

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

como tenho o código actualmente:

<form name="f1" action="RegistaHoras.php">
 <table>
	 <tr>
		 <td><label>Data de inicio</td>
		    <td><input type="text" name="diaInicio" value="1" size="4"/>/
		    <input type="text" name="mesInicio" value="6" size="4" />/
		    <input type="text" name="anoInicio" value="2012" size="4"/>
		    </label></td>
	 </tr>
	    <tr>
		 <td><label>Data de fim</td>
		    <td><input type="text" name="diaFinal" value="31" size="4"/>/
		    <input type="text" name="mesFinal" value="6" size="4"/>/
		    <input type="text" name="anoFinal" value="2012" size="4"/>
		    </label></td>
	 </tr>
	    <tr>
		 <td></td>
   <td><input type="submit" id="dados" name="dados_enviar" value="Registar"/></td>
	 </tr>
    </table>
</form>

RegistaHoras.php

<?php

function bissexto($ano)
{
   return ($ano % 400 == 0) || (($ano % 4 == 0) && ($ano % 100 != 0));
}
function dateToString($d)
{
   $MM   = array(
    "Jan",
    "Fev",
    "Mar",
    "Abr",
    "Mai",
    "Jun",
    "Jul",
    "Ago",
    "Set",
    "Out",
    "Nov",
    "Dez"
   );
   $yyyy = strip_tags(trim($_GET['anoInicio']));
   $mm   = $MM[strip_tags(trim($_GET['mesInicio']))]; //+1
   $dd   = date($d); //$d.date();

   if ($mm < 10)
    $mm = "0" + $mm;
   if ($dd < 10)
    $dd = "0" + $dd;

   return $dd + "-" + $mm;
} //dateToString
function mesToString($mes)
{
   $MM = array(
    "Jan",
    "Fev",
    "Mar",
    "Abr",
    "Mai",
    "Jun",
    "Jul",
    "Ago",
    "Set",
    "Out",
    "Nov",
    "Dez"
   );
   return $MM[$mes - 1];
}
function diaSemanal($date)
{
   $dds = array(
    "domingo",
    "segunda-feira",
    "terca-terça",
    "quarta-feira",
    "quinta-feira",
    "sexta-feira",
    "sabado"
   );
   $dd  = date('w', strtotime($date));
   return $dds[$dd];
} //dateToString

$IMPOSSIVEL = -1;
function numeroDiasNoMes($mes, $ano)
{
   if ($mes == 1 || $mes == 3 || $mes == 5 || $mes == 7 || $mes == 8 || $mes == 10 || $mes == 12)
    return 31;
   else if ($mes == 4 || $mes == 6 || $mes == 9 || $mes == 11)
    return 30;
   else if ($mes == 2)
    return bissexto(ano) ? 29 : 28;
   else
    return $IMPOSSIVEL;
} //numeroDiasNoMes

function gerarCalendarioMensal($ano, $mes)
{
   $dia    = 1; //date($ano, $mes-1, 1); //primeiro dia do mes
   $limite = numeroDiasNoMes($mes, $ano); //28, 29, 30, 31



   echo "<div id='registoH'>";
   echo "<form name='f_criarRegistoH' id='f_criarRegistoH_' method='post' action='' enctype='multipart/form-data'>";
   echo "<table border='1'>";

   echo "<tr align='center'>";
   echo "<td style='width: 85px;'><p><b>Data</b></td>";
   echo "<td style='width: 85px;'><p><b>Dia</b></td>";
   echo "<td style='width: 85px;'><p><b>Entrada</b></td>";
   echo "<td style='width: 85px;'><p><b>Saída</b></td>";
   echo "<td style='width: 85px;'><b>Horas Normais</b></td>";
   echo "<td style='width: 85px;'><b>Horas Turno</b></td>";
   echo "<td style='width: 85px;'><b>Feriado / 100%</b></td>";
   echo "<td style='width: 85px;'><b>Faltas</b></td>";
   echo "</tr>";


   require 'conexao.php';


   for ($contador = $_GET['diaInicio']; $contador <= $limite; $contador++) { //$_GET['diaFinal']

    $currentData = $_GET['anoInicio'] . '-' . $_GET['mesInicio'] . '-' . $contador;

    $mes = mesToString($_GET['mesInicio']);

    $fraseParaODia = diaSemanal($currentData);
    ;


    echo "<tr  style='text-align: center;'>";
    echo "<td style='width: 104px;'>";
    echo $contador + '-' + $mes;
    echo "</td>";
    echo "<td style='width: 104px;'>";
    echo $fraseParaODia;
    echo "</td>";

    echo "<td style='width: 104px;'><input name='HEntrada$contador' type='text' id='HEntrada' placeholder='Hora de entrada' style='width: 104px;'/></td>";
    echo "<td style='width: 104px;'><input name='HSaida$contador' type='text' id='HSaida' placeholder='Hora de saída' style='width: 104px;'/></td>";
    echo "<td style='width: 104px;'><input name='HoraTurno$contador' type='text' id='HoraTurno' placeholder='Horas de turno' style='width: 104px;'/></td>";
    echo "<td style='width: 104px;'><input name='HoraNormal$contador' type='text' id='HoraNormal' placeholder='Horas normais' style='width: 104px;'/></td>";
    echo "<td style='width: 104px;'><input name='NumHorasFeriado$contador' type='text' id='NumHorasFeriado' placeholder='Horas do feriado' style='width: 104px;'/></td>";
    echo "<td style='width: 104px;'><input name='NumHorasFalta$contador' type='text' id='NumHorasFalta' placeholder='Horas de faltas' style='width: 104px;'/></td>";

    echo "</tr>";
   }
   echo "</table>";


   echo "<br>";


   echo "</form>";

   echo "<input type='submit' name='buttonRegistoHoras' id='buttonRegistoHoras' value='Guardar' />";

   echo "</div>";

}
gerarCalendarioMensal($_GET['anoInicio'], $_GET['mesInicio'], $_GET['diaInicio']);
?>

já gera o calendário a partir do dia inicial. Falta limitar por data final.

O que pode acontecer é colocar-se uma data inicial, 10-06-2012 até à data final 09-07-2012, o que implica ter a listagem do calendário com mais um mês (parte do mês).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.