Pregunta:
¿manejo de la hora y fecha con php, mysql en dreamweaver 8?
2008-10-09 08:24:49 UTC
Hola;

Tengo un sencillo formulario de contacto hecho en PHP con Dreamweaver 8 y contiene como campos ocultos fecha y hora y que deberian rellenarse automaticamente e insertarse con los datos del usuario en una base de datos MySql.

Los datos de los usuarios se graban sin problemas pero no encuentro la forma de insertar los datos de la fecha y hora del sistema.

Gracias y un saludo
Tres respuestas:
2008-10-09 17:58:41 UTC
En lo personal creo que es mejor y más seguro manejar la fecha y la hora del lado del servidor que del lado del cliente.



Te recomendaría dos opciones:



1: Usar las funciones de MySQL para fecha y hora



Si tienes un campo 'Fecha' tipo DATE y un campo 'Hora' tipo Time utiliza las funciones CURDATE() y CURTIME():



insert into 'Mi_Tabla' set Nombre='Perengano',Comentario='Este es mi comentario',Fecha=CURDATE() , Hora=CURTIME();



Si el campo que ocupas es DATETIME entonces debera usar algo como:



insert into 'Mi_Tabla' set Nombre='Perengano',Comentario='Este es mi comentario',FechaHora=NOW();



Tip: prueba las siguiente query en tu base de datos para que te des cuenta lo que te regresan:



select CURDATE();

select CURTIME();

select NOW();



2.- Olvidate de la fecha y hora y dejale el trabajo a MySQL.



Define un campo de tipo TIMESTAMP (la fecha y hora se guarda como un numero que es el equivalente a la suma de los segundos transcurridos desde el primero de enero de 1970 a a fecha, tambien se le conoce como UNIX_TIMESTAMP).



Cuando crees la tabla definele como valor por default el timestamp actual:



CREATE TABLE Mi_Tabla (Nombre Varchar(100),Comentario VARCHAR(255),Fecha_Hora TIMESTAMP DEFAULT CURRENT_TIMESTAMP);



y cuando insertes no tomes en cuenta ese campo, pues MySQL automaticamente le va a insertar el TIMESTAMP actual:



insert into 'Mi_Tabla' set Nombre='Perengano',Comentario='Este es mi comentario';



Si te preocupa como puedes recuperar la fecha y hora en un formato que puedas entender usa la funcion de php date, le pasas como argumento el formato en el que quieras que te de la Fecha y como segundo parametro el timestamp :



$fecha=date("d/m/Y H:i:s",$timestamp);

Fecha sera algo como

09/10/2008 19:56:00



Saludos espero te resuelva tus dudas.
2008-10-09 15:54:28 UTC
fijate como tenes el campo de fecha en la base de datos, si tenes tipo DATE, DATETIME o TIMESTAMP



DATE = 'YYYY-MM-DD'

DATETIME = 'YYYY-MM-DD HH:MM:SS'



La columna de tipo TIMESTAMP proporciona un valor que es aplicable automáticamente en operaciones como INSERT y UPDATE con la fecha y hora actuales. Si se tienen múltiples columnas TIMESTAMP, sólo la primera es actualizada automáticamente.
ruizerwin
2008-10-09 15:41:31 UTC
Estas cometiendo un error y es que no deberias de utilizar campos ocultos para la fecha y hora.



En tu sentencia sql lo que puedes hacer es lo siguiente:

(insert into tabla (nombre, sexo, fecha) values ("' . $name . "', "' . $sexo . "', "now()");


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...