PHP - Introducir fecha en un campo de una tabla mysql

 
Vista:

Introducir fecha en un campo de una tabla mysql

Publicado por Rosa (15 intervenciones) el 07/06/2005 16:46:53
Utlizando un menu desplegable para la fecha

<select name="dia_ini" id="dia_ini">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>

...
y asi para el mes y el año quiero introducir eso en una variable llamada fecha q luego sea la q se inserte en la tabla ¿como lo hago?
creo $fecha=$ano + '-' $mes + '-' + $dia;
luego en la orden insert...(....,$fecha,...)
Lo he probado y no me sale lo unico q hace es sumar el año, el dia y el mes
Me gustaria q alguien me ayudara con esto, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Introducir fecha en un campo de una tabla mysql

Publicado por a677dar (29 intervenciones) el 07/06/2005 17:33:44
Primero deberias indicar que el campo 'fecha' en tu tabla MySQL es de tipo DATETIME, eso indica que en definitiva es un numero entero (que representa el numero de segundos transcurridos desde 1-ene-1970)

Entonces deberias tener un formulario con campos para el dia, otro para el mes y otro para el anio (sean listas desplegables, cajas de texto, o lo que sea), cuyos valores sean numericos.

Este formulario deberias indicarle un method="POST" y una accion digamos "destino.php". Este ultimo script deberia recoger estos datos numericos, y transformarlos en un "timestamp" manejable por MYSQL mas o menos asi:

$dia=$_POST["dia"];
$mes=$_POST["mes"];
$anio=$_POST["anio"];

$fecha=mktime(0,0,0,$mes,$dia,$anio)

Observa bien el orden de los parametros en la funcion mktime(), aunque parezca mentira son así! (estoy asumiendo Hora=0, min=0 y segs=0)

Luego ya puedes usar la variable $fecha para introducirla en una sentencia MySQL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por Rosa (15 intervenciones) el 08/06/2005 11:29:47
Hola probe lo qme dijiste y me sale un warning con mktime y por tanto no se guarda la variable con la fecha.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por a677dar (29 intervenciones) el 08/06/2005 14:03:33
por favor mostra el codigo que te da error asi puedo ayudarte, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por Rosa (15 intervenciones) el 08/06/2005 15:18:57
Este es el warning q me da:
Warning: mktime(): Windows does not support negative values for this function

valores negativos no lo entiendo pq tiene valores positivos

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por a677dar (29 intervenciones) el 08/06/2005 15:55:52
OK, valores negativos en la funcion mktime() no son soportados.

Pero lamentablemente tengo que adivinar cual es el script que genera este error.

Muestra aunque sea una porcion de tu script asi tal vez pueda ayudarte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por Rosa (15 intervenciones) el 08/06/2005 17:42:07
Primero creo tres listas una con dia, otra con mes y otra con año
<select name="dia_ini" id="dia_ini">
<option value="0"></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>..... y asi para mes y año

Luego cuando envio el formulario estos valores seleccionados quedaran almacenados en las variables dia_ini, mes_ini y ano_ini.
Antes de introducirlos en la tabla (cuyo campo es tipo date) hago lo q me dijiste:
$f_ini= mktime(0,0,0,'.$ano_ini.','.$mes_ini.','.$dia_ini.');
En una variable meto se supone q la fecha q tenga con esos valores y luego al introducirlos en la tabla hago:
insert into .... values (.............., '$f_ini',.......);
Y entonces me sale ese warning, weno eso es todo, gracias por ayudarme

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por a677dar (29 intervenciones) el 08/06/2005 17:48:46
No se entiende porque esta asignacion:

$f_ini= mktime(0,0,0,'.$ano_ini.','.$mes_ini.','.$dia_ini.');

si deberia ser asi:

$f_ini= mktime(0,0,0,$ano_ini,$mes_ini,$dia_ini);

ni tampoco:
insert into .... values (.............., '$f_ini',.......);

Si deberia ser asi:

insert into .... values (.............., $f_ini,.......);

no se entiende porque las comillas simples
o hay algo que me estoy perdiendo y no lo puedo adivinar.....

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por Rosa (15 intervenciones) el 08/06/2005 20:22:27
Bueno eso lo probe pq en un libro lo ponia entre comillas y con el punto delante, no se pq sera, pero he seguido sus instrucciones.
Me sigue dando el mismo error y ya lo he puesto como tu dices, sale error de valores negativos.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:WARNING con mktime

Publicado por Rosa (15 intervenciones) el 08/06/2005 21:24:27
Ya lo he conseguido pero sin usar la funcion mktime ni nada de eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar