Bueno ya esta bueno de tanta polémica por nada! Nadie esta negando la ayuda que GatorV nos ha dado a todos, ni existe ningun conflicto personal... Ya aclaré de que iba la cosa... Así que basta con eso!
Y bueno
ocp001a, resulta que yo aclare que poniendole algunas cosas al código se puede utilizar como un datepicker...
Yo lo hice de este modo y funciona perfectamente.
Código PHP:
Ver original<?php
$tipo_semana = 1;
$tipo_mes = 1;
$fe = $sess->getData('fecha_calcular');
define('PHP_SELF', $_SERVER['PHP_SELF']); if(isset($_REQUEST['txt_fec'])) {
$sess->setData("selected", $_REQUEST['txt_fec']);
}
if($_REQUEST['todaySel'])
{
$sess->setData("selected", date('d/n/Y')); }
if($sess->checkData("selected") && (!isset($_REQUEST['ano']) || !isset($_REQUEST['mes']))) {
$f = explode("/", $sess->getData("selected"));
$dia = $f[0];
$mes = $f[1];
$ano = $f[2];
}
else
{
if(!isset($_REQUEST['dia'])) {
}
else
{
$dia = $_REQUEST['dia'];
}
if(!isset($_REQUEST['mes'])) {
}
else
{
$mes = $_REQUEST['mes'];
}
if(!isset($_REQUEST['ano'])) {
}
else
{
$ano = $_REQUEST['ano'];
}
}
'',
'Enero',
'Febrero',
'Marzo',
'Abril',
'Mayo',
'Junio',
'Julio',
'Agosto',
'Septiembre',
'Octubre',
'Noviembre',
'Diciembre'
);
'',
'Ene',
'Feb',
'Mar',
'Abr',
'May',
'Jun',
'Jul',
'Ago',
'Sep',
'Oct',
'Nov',
'Dic'
);
'Domingo',
'Lunes',
'Martes',
'Miércoles',
'Jueves',
'Viernes',
'Sábado'
);
'Dom',
'Lun',
'Mar',
'Mie',
'Jue',
'Vie',
'Sab'
);
////////////////////////////////////
if($tipo_semana == 0)
{
$arr_semana = $sema_comp;
}
elseif($tipo_semana == 1)
{
$arr_semana = $sema_abrev;
}
if($tipo_mes == 0)
{
$arr_mes = $mesCompleto;
}
elseif($tipo_mes == 1)
{
$arr_mes = $mesAbrev;
}
$TotalDiasMes = date(t
,mktime(0,0,0,$mes,$dia,$ano)); $DiaSemanaEmpiezaMes = date(w
,mktime(0,0,0,$mes,1,$ano)); $DiaSemanaTerminaMes = date(w
,mktime(0,0,0,$mes,$TotalDiasMes,$ano)); $EmpiezaMesCalOffset = $DiaSemanaEmpiezaMes;
$TerminaMesCalOffset = 6 - $DiaSemanaTerminaMes;
$TotalDeCeldas = $TotalDiasMes + $DiaSemanaEmpiezaMes + $TerminaMesCalOffset;
if($mes == 1)
{
$MesAnt = 12;
$MesSig = $mes + 1;
$AnoAnt = $ano - 1;
$AnoSig = $ano;
}
elseif($mes == 12)
{
$MesAnt = $mes - 1;
$MesSig = 1;
$AnoAnt = $ano;
$AnoSig = $ano + 1;
}
else
{
$MesAnt = $mes - 1;
$MesSig = $mes + 1;
$AnoAnt = $ano;
$AnoSig = $ano;
$AnoAnt = $ano - 1;
$AnoSig = $ano + 1;
}
$tab_head = '
<table style="font-family:arial; font-size:9px" bordercolor="navy" align="center" border="1" cellpadding="1" cellspacing="1" id="masterTable">
<tr>
<td colspan="10">
<table border="0" align="center" style="font-family:arial; font-size:9px; width: 90%;" >
<tr>
<td width="10%"><a href="'.PHP_SELF.'?mes='.$mes.'&ano='.$AnoAnt.'"><img src="'.APP_WEB_ROOT.'media/img/datepicker/atras2.gif" border=0></a></td>
<td width="15%"><a href="'.PHP_SELF.'?mes='.$MesAnt.'&ano='.$ano.'"><img src="'.APP_WEB_ROOT.'media/img/datepicker/atras.gif" border="0"></a></td>
<td width="50%" class="indicator" colspan="1" align="center" nowrap><b>'.$arr_mes[$mes].' - '.$ano.'</b></td>
<td width="15%"><a href="'.PHP_SELF.'?mes='.$MesSig.'&ano='.$ano.'"><img src="'.APP_WEB_ROOT.'media/img/datepicker/avanzar.gif" border=0></a></td>
<td width="10%"><a href="'.PHP_SELF.'?mes='.$mes.'&ano='.$AnoSig.'"><img src="'.APP_WEB_ROOT.'media/img/datepicker/avanzar2.gif" border=0 /></a></td>
</tr>
</table>
</td>
</tr>
';
print $tab_head;
print " <tr>";
foreach($arr_semana AS $key)
{
print '<td class="weekheader"><b>'.$key.'</b></td>';
}
print " </tr>";
$sel_day = $sess->getData("selected");
for($a=1;$a <= $TotalDeCeldas;$a++)
{
if(!$b) $b = 0;
if($b == 7) $b = 0;
if($b == 0) print '<tr>';
if(!$c) $c = 1;
if($a > $EmpiezaMesCalOffset AND $c <= $TotalDiasMes)
{
$dateCom = $c."/".$mes."/".$ano;
{
$class = "today ";
if(($sel_day == $dateCom) || (isset($_REQUEST['todaySel']))) $class .= "selected"; print '<td class="'.$class.'"><a href="'.PHP_SELF.'?txt_fec='.$dateCom.'">'.$c.'</a></td>';
}
elseif($b == 0 OR $b == 6)
{
$class = "weekend ";
if(($sel_day == $dateCom)) $class .= "selected";
print '<td class="'.$class.'"><a href="'.PHP_SELF.'?txt_fec='.$dateCom.'">'.$c.'</a></td>';
}
else
{
$class = "common ";
if(($sel_day == $dateCom)) $class .= "selected";
print '<td class="'.$class.'"><a href="'.PHP_SELF.'?txt_fec='.$dateCom.'">'.$c.'</a></td>';
}
$c++;
}
else
{
print '<td class="empty"> </td>';
}
if($b == 6) print '</tr>';
$b++;
}
$goToday = date('j/n/Y'); print '<tr><td align="center" colspan="10" class="goToday"><a href="'.PHP_SELF
.'?mes='.date(n
).'&ano='.date(Y
).'&todaySel=1"><b>Hoy</b></a></td></tr>';
print "</table>";
?>
Las sesiones las manejo con una clase propia... Pero por demás, creo que esta bastante claro. Lo dejo acá como aporte a quien lo llegue a necesitar!