Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2008, 03:59
txino_2
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 8 meses
Puntos: 1
Problema con calendario

Por favor que alguien me ilumine.

Tengo el siguiente calendario

Código PHP:
<?
$anoInicial 
'1900';
$anoFinal '2100';
$funcionTratarFecha 'document.location = "?dia="+dia+"&mes="+mes+"&ano="+ano;';
?><script>
function tratarFecha(dia,mes,ano){
  <?=$funcionTratarFecha?>
}
</script>

<form><table border="0" cellpadding="5" cellspacing="0" bgcolor="#D4D0C8">
  <tr>
    <td width="100%">
<?
$fecha 
getdate(time());
if(isset(
$_GET["dia"]))$dia $_GET["dia"];
else 
$dia $fecha['mday'];
if(isset(
$_GET["mes"]))$mes $_GET["mes"];
else 
$mes $fecha['mon'];
if(isset(
$_GET["ano"]))$ano $_GET["ano"];
else 
$ano $fecha['year'];
$fecha mktime(0,0,0,$mes,$dia,$ano);
$fechaInicioMes mktime(0,0,0,$mes,1,$ano);
$fechaInicioMes date("w",$fechaInicioMes);
?>
    <select size="1" name="mes" class="m1" onChange="document.location = '?dia=<?=$dia?>&mes=' + document.forms[0].mes.value + '&ano=<?=$ano?>';">
<?
$meses 
= Array ('enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre');
for(
$i 1$i <= 12$i++){
  echo 
'      <option ';
  if(
$mes == $i)echo 'selected ';
  echo 
'value="'.$i.'">'.$meses[$i-1]."\n";
}
?>
    </select>&nbsp;&nbsp;&nbsp;<select size="1" name="ano" class="m1" onChange="document.location = '?dia=<?=$dia?>&mes=<?=$mes?>&ano=' + document.forms[0].ano.value;">
<?
for ($i $anoInicial$i <= $anoFinal$i++){
  echo 
'      <option ';
  if(
$ano == $i)echo 'selected ';
  echo 
'value="'.$i.'">'.$i."\n";
}
?>
    </select><br>
    <font size="1">&nbsp;</font><table border="0" cellpadding="2" cellspacing="0" width="100%" class="m1" bgcolor="#FFFFFF" height="100%">
<?
$diasSem 
= Array ('L','M','M','J','V','S','D');
$ultimoDia date('t',$fecha);
$numMes 0;
for (
$fila 0$fila 7$fila++){
  echo 
"      <tr>\n";
  for (
$coln 0$coln 7$coln++){
    
$posicion = Array (1,2,3,4,5,6,0);
    echo 
'        <td width="14%" height="19"';
    if(
$fila == 0)echo ' bgcolor="#808080"';
    if(
$dia-== $numMes)echo ' bgcolor="#0A246A"';
    echo 
" align=\"center\">\n";
    echo 
'        ';
    if(
$fila == 0)echo '<font color="#D4D0C8">'.$diasSem[$coln];
    elseif((
$numMes && $numMes $ultimoDia) || (!$numMes && $posicion[$coln] == $fechaInicioMes)){
      echo 
'<a href="#" onclick="tratarFecha('.(++$numMes).','.$mes.','.$ano.')">';
      if(
$dia == $numMes)echo '<font color="#FFFFFF">';
      echo (
$numMes).'</a>';
    }
    echo 
"</td>\n";
  }
  echo 
"      </tr>\n";
}
?>
    </table>
    </td>
  </tr>
</table></form>
Lo tengo insertado dentro de un php con consulta a base de datos, para extraer los datos por días, la cuestion es que los datos los tengo en la base de datos con fecha año-mes-dia

Y tengo la consulta de la siguiente manera

Código PHP:
$query_Recordset1 "SELECT * FROM partidos WHERE dia = '$ano-$mes-$dia' ORDER BY hora ASC"
Al poner un echo con
Código PHP:
<?php
echo $ano-$mes-$dia;
?>
Me hace una operación aritmetica, por lo cual por ejemplo si estamos a 2008-08-08, lo que me hace es restar al años, el mes y despues el dia, así que no encuentra nada en la base de datos.

Como deberia de representar el año-mes-dia para que lo adopte la base de datos y el echo me muestre el año con formato año-mes-dia, sin operacion aritmetica.

Decir que en mi base de datos, solo tengo un campo para la fecha y esta representado en año-mes día, o lo que es lo mismo que yo mismo inserto la fecha y pongo 2008-08-28 cuando introduzco datos por ejemplo en el dia de hoy.

En resumidas cuentas que no se como hacer la consulta con el calendario, ni hacer el echo del día cuando clico en el

Espero haberme explicado bien, muchas gracias por vuestras respuestas