Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2006, 14:46
merry
 
Fecha de Ingreso: marzo-2006
Mensajes: 30
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Guardar fecha calendario

No se como guardar una fecha al base de datos, es decir que de un calendario seleccione la fecha y la guarde en la base de datos, no se como llamar la funcion a mi forma de captura de alta de productos.

Estos son mis archivos de calendario

calendario.php

<?
function calcula_numero_dia_semana($dia,$mes,$ano){
$numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano));
if ($numerodiasemana == 0)
$numerodiasemana = 6;
else
$numerodiasemana--;
return $numerodiasemana;
}

//funcion que devuelve el último día de un mes y año dados
function ultimoDia($mes,$ano){
$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano)){
$ultimo_dia++;
}
return $ultimo_dia;
}

function dame_nombre_mes($mes){
switch ($mes){
case 1:
$nombre_mes="Enero";
break;
case 2:
$nombre_mes="Febrero";
break;
case 3:
$nombre_mes="Marzo";
break;
case 4:
$nombre_mes="Abril";
break;
case 5:
$nombre_mes="Mayo";
break;
case 6:
$nombre_mes="Junio";
break;
case 7:
$nombre_mes="Julio";
break;
case 8:
$nombre_mes="Agosto";
break;
case 9:
$nombre_mes="Septiembre";
break;
case 10:
$nombre_mes="Octubre";
break;
case 11:
$nombre_mes="Noviembre";
break;
case 12:
$nombre_mes="Diciembre";
break;
}
return $nombre_mes;
}

function dame_estilo($dia_imprimir){
global $mes,$ano,$dia_solo_hoy,$tiempo_actual;
//dependiendo si el día es Hoy, Domigo o Cualquier otro, devuelvo un estilo
if ($dia_solo_hoy == $dia_imprimir && $mes==date("n", $tiempo_actual) && $ano==date("Y", $tiempo_actual)){
//si es hoy
$estilo = " class='hoy'";
}else{
$fecha=mktime(12,0,0,$mes,$dia_imprimir,$ano);
if (date("w",$fecha)==0){
//si es domingo
$estilo = " class='domingo'";
}else{
//si es cualquier dia
$estilo = " class='diario'";
}
}
return $estilo;
}

function mostrar_calendario($mes,$ano){
global $parametros_formulario;
//tomo el nombre del mes que hay que imprimir
$nombre_mes = dame_nombre_mes($mes);

//construyo la cabecera de la tabla
echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=lefth class=tit>";
echo "<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt;font-weight:bold;color:blue>";
//calculo el mes y ano del mes anterior
$mes_anterior = $mes - 1;
$ano_anterior = $ano;
if ($mes_anterior==0){
$ano_anterior--;
$mes_anterior=12;
}
echo "<a style=color:blue;text-decoration:none href=index.php?$parametros_formulario&nuevo_mes=$m es_anterior&nuevo_ano=$ano_anterior>&lt;&lt;</a></td>";//formulario
echo "<td align=lefth class=tit>$nombre_mes $ano</td>";
echo "<td align=lefth style=font-size:10pt;font-weight:bold;color:white>";
//calculo el mes y ano del mes siguiente
$mes_siguiente = $mes + 1;
$ano_siguiente = $ano;
if ($mes_siguiente==13){
$ano_siguiente++;
$mes_siguiente=1;
}
echo "<a style=color:blue;text-decoration:none href=index.php?$parametros_formulario&nuevo_mes=$m es_siguiente&nuevo_ano=$ano_siguiente>&gt;&gt;</a></td></tr></table></td></tr>";
echo ' <tr>
<td width=14% align=center class=altn>L</td>
<td width=14% align=center class=altn>M</td>
<td width=14% align=center class=altn>X</td>
<td width=14% align=center class=altn>J</td>
<td width=14% align=center class=altn>V</td>
<td width=14% align=center class=altn>S</td>
<td width=14% align=center class=altn>D</td>
</tr>';

//Variable para llevar la cuenta del dia actual
$dia_actual = 1;

//calculo el numero del dia de la semana del primer dia
$numero_dia = calcula_numero_dia_semana(1,$mes,$ano);
//echo "Numero del dia de demana del primer: $numero_dia <br>";

//calculo el último dia del mes
$ultimo_dia = ultimoDia($mes,$ano);

//escribo la primera fila de la semana
echo "<tr>";
for ($i=0;$i<7;$i++){
if ($i < $numero_dia){
//si el dia de la semana i es menor que el numero del primer dia de la semana no pongo nada en la celda
echo "<td></td>";
} else {
echo "<td align=center><a href='javascript:devuelveFecha($dia_actual,$mes,$a no)'". dame_estilo($dia_actual) .">$dia_actual</a></td>";
$dia_actual++;
}
}
echo "</tr>";

//recorro todos los demás días hasta el final del mes
$numero_dia = 0;
while ($dia_actual <= $ultimo_dia){
//si estamos a principio de la semana escribo el <TR>
if ($numero_dia == 0)
echo "<tr>";
echo "<td align=center><a href='javascript:devuelveFecha($dia_actual,$mes,$a no)'". dame_estilo($dia_actual) .">$dia_actual</a></td>";
$dia_actual++;
$numero_dia++;
//si es el uñtimo de la semana, me pongo al principio de la semana y escribo el </tr>
if ($numero_dia == 7){
$numero_dia = 0;
echo "</tr>";
}
}

//compruebo que celdas me faltan por escribir vacias de la última semana del mes
for ($i=$numero_dia;$i<7;$i++){
echo "<td></td>";
}

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

function formularioCalendario($mes,$ano){
global $parametros_formulario;
echo '
<br>
<table align="center" cellspacing="2" cellpadding="2" border="0" class=tform>
<tr><form action="index.php?' . $parametros_formulario . '" method="POST">';///manda llamar al formulario index.php
echo '
<td align="center" valign="top">
Mes: <br>
<select name=nuevo_mes>
<option value="1"';
if ($mes==1)
echo "selected";
echo'>Enero
<option value="2" ';
if ($mes==2)
echo "selected";
echo'>Febrero
<option value="3" ';
if ($mes==3)
echo "selected";
echo'>Marzo
<option value="4" ';
if ($mes==4)
echo "selected";
echo '>Abril
<option value="5" ';
if ($mes==5)
echo "selected";
echo '>Mayo
<option value="6" ';
if ($mes==6)
echo "selected";
echo '>Junio
<option value="7" ';
if ($mes==7)
echo "selected";
echo '>Julio
<option value="8" ';
if ($mes==8)
echo "selected";
echo '>Agosto
<option value="9" ';
if ($mes==9)
echo "selected";
echo '>Septiembre
<option value="10" ';
if ($mes==10)
echo "selected";
echo '>Octubre
<option value="11" ';
if ($mes==11)
echo "selected";
echo '>Noviembre
<option value="12" ';
if ($mes==12)
echo "selected";
echo '>Diciembre
</select>
</td>';
echo '
<td align="center" valign="top">
A&ntilde;o: <br>
<select name=nuevo_ano>';

for ($cont=1900;$cont<$ano+3;$cont++){
echo "<option value='$cont'";
if ($ano==$cont)
echo " selected";
echo ">$cont";
}
echo '
</select>
</td>';
echo '
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="[ IR A ESE MES ]"></td>
</tr>
</table><br>

<br>

</form>';
}

////////////////////////////////////////////////////////////
//Función que escribe en la página un fomrulario preparado para introducir una fecha y enlazado con el calendario para seleccionarla comodamente
///////////////////////////////////////////////////////////////////////////////////////
function escribe_formulario_fecha_vacio($nombrecampo,$nombr eformulario){
global $raiz;
echo '
<input name="'.$nombrecampo.'" size="14" >


<input type=button value="Fecha" onclick="muestraCalendario(\''. $raiz.'\',\''. $nombreformulario .'\',\''.$nombrecampo.'\')">

';
}
?>

index.php


<?

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Calendario PHP</title>
<link rel="STYLESHEET" type="text/css" href="estilo.css">
<script>
function devuelveFecha(dia,mes,ano){
//Se encarga de escribir en el formulario adecuado los valores seleccionados
//también debe cerrar la ventana del calendario
var formulario_destino = '<?echo $_GET["formulario"]?>'

var campo_destino = '<?echo $_GET["nomcampo"]?>'

//meto el dia
eval ("opener.document." + formulario_destino + "." + campo_destino + ".value='" + ano + "/" + mes + "/" + dia + "'")
window.close()
}
</script>
</head>

<body>

<?
//TOMO LOS DATOS QUE RECIBO POR LA url Y LOS COMPONGO PARA PASARLOS EN SUCESIVAS EJECUCIONES DEL CALENDARIO
$parametros_formulario = "formulario=" . $_GET["formulario"] . "&nomcampo=" . $_GET["nomcampo"];
?>

<div align="center">
<?
require ("calendario.php");
$tiempo_actual = time();
$dia_solo_hoy = date("d",$tiempo_actual);
if (!$_POST && !isset($_GET["nuevo_mes"]) && !isset($_GET["nuevo_ano"])){
$mes = date("n", $tiempo_actual);
$ano = date("Y", $tiempo_actual);
}elseif ($_POST) {
$mes = $_POST["nuevo_mes"];
$ano = $_POST["nuevo_ano"];
}else{
$mes = $_GET["nuevo_mes"];
$ano = $_GET["nuevo_ano"];
}

mostrar_calendario($mes,$ano);
formularioCalendario($mes,$ano);
?>
</div>
</body>
</html>
Forma
<?
include ("calendario/calendario.php");


<html>

<title>.:Alta:.</title>


<script language="JavaScript" src="calendario/javascripts.js"></script>


<body>


/////// en esta parte mando a llamar al calendario pero no se como guardarlo a la base de datos

<tr>
<td height="21" bgcolor="#D5EDB3">&nbsp;</td>
<td bgcolor="#D5EDB3"><div align="right" class="Estilo90 Estilo80 Estilo21 Estilo95"><strong>Fecha toma </strong></div></td>

<td bgcolor="#D5EDB3"><span class="Estilo82">
<?
escribe_formulario_fecha_vacio("fecha1","nombre_de l_formulario");

?>
</span></td>
</tr>
?>

</body>
</html>