Hola!!!
Tengo un formulario para ingresar los campos a una base de datos. Lo que quiero saber es cómo introducir en la tabla automáticamente la hora y fecha de inserción del registro...
Gracias!!!
| ||||
Si es para la BD, mejor utilizar funciones de MySql que para eso están... Por ejempñlo la función CURDATE(), o NOW() Para eso, el campo de la tabla de la BD donde vas a guardar la fecha deberá ser de tipo DATE o DATETIME (ya te dejo un enlace donde podrás ver los tipos de datos)... en realidad para manejar fechas no es bueno utilizar campos de tipo varchar o similares. Ahora... la sintaxis de Mysql sería (suponiendo que el campo donde guardas la fecha se llama "fecha"): Código PHP: Puedes ver más información en el manual de Mysql: http://www.mysql.com/doc/en/Date_and...functions.html Y sobre los tipos de datos de Mysql: http://www.mysql-hispano.org/page.php?id=22 Saludos ![]() |
| ||||
Ahora que veo bien.. por ningún lado pones que estés utilizando Mysql ![]() Saludos ![]() |
| ||||
MateoVasco: Las funciones que te puse de Mysql son ideales para trabajar con las fechas de la BD.. ordenar campos.. sumar, restar... en general operar con las fechas vía Mysql... Si lo quieres hacer vía PHP.. pues creo que una de las primeras FAQ's de este foro pone una función para "traducir" la fecha al español... pero como te digo... si es para la BD... mejor con Mysql... claro.. todo depende del uso que le vas a dar. saludos ![]() |
| |||
Lo ideal es que trabajes las fechas en tu Base de datos en campos DATE o DATETIME como te comentó jpinedo .. Si quieres darle formato a una fecha de tu BD usa la función de MYSQL: DATE_FORMAT() que vendría a ser el equivalente al date() de PHP (casi con la misma sintax inclusive) ... Si quires esa fecha a su vez en formato "español" tipo: de: 2004-02-07 -> "Sabado, 7 de Febrero del 2004 .. ahí tendrás que usar algo de lógica "PHP" para obtener esas fechas en español (castellano) .. En las FAQ's de este foro tienes un ejemplo de Manoloweb (si mal no recuerdo) .. Pero lo principal es que trabajes las fechas en formato DATE o DATETIME en tus Base de datos .. cosa que te ayudará a realizar operaciones matemáticas con esas fechas con las funciones de Mysql (en su SQL) directas siendo más optimo ese tipo de procesos que hacerlo mezcla PHP+Mysql. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cordial saludo Jpinedo; Ya he leido en varias ocaciones sus ayudas sobre SQL. Son muy buenas. Quizas ya ha visto mis preguntas... Son muy elementales. : ( Yo guardo la fecha asi: $fecha = date('d n Y'); Con la respuesta que usted le dio a Mateo hice esto: <?php $hoy = CURDATE(); echo $hoy; echo CURDATE(); ?> Y solo me dio errores... ? Pero bueno, hace dias que tengo este post "guardadito", y me parece que este es el momento y el post para sacarlo. ***************** Cual es la manera correcta de ELIMINAR USUARIOS INACTIVOS DE UNA BD?. Tengo esto: $fecha = date('d n Y'); mysql_query("INSERT INTO tabla (campo1,campo2,campo3,etc...) VALUES ('','$fecha','$usuario','$nombre','$MSN')"); Yo quiero hacer una sentencia SQL mas o menos asi: mysql_query("DELETE FROM tabla WHERE fecha <= 'fecha de hace dos meses atras' '"); Es decir, eliminar los usuarios inactivos desde hace 2 o 3 meses. Como lo hago sin DESTRUIR-AVERIAR la BD?. Pues... Yo me IMAGINO que la sentencia es WHERE 'fecha' >= 2003-11-01 Para eliminar los usuarios inactivos desde antes de Noviembre de 2003, pero quiero el consejo de ustedes. Que tiempo me sugieres Jpinedo?, cuando la BD puede ser calificada como "muy grande"? Gracias por la ayuda. |
| ||||
Si ves en el manual: http://www.mysql.com/doc/en/Date_and...functions.html El primer ejemplo que te ponen hace algo como lo que pides La sintaxis sería algo así: Código PHP: Saludos ![]() |
| ||||
Ah ... me olvidaba... las funciones de Mysql son eso... de Mysql!! no de PHP... $hoy = CURDATE(); no funcionará porque CURDATE() no existe en PHP... Las funciones de mysql deberías utilizarlas al momento mismo de hacer la consulta a la Bd... o sea dentro del query tal como el ejemplo que te puse... Ahora... creo que deberías hacer tus preguntas en general (no dirigidas a mí específicamente)... porque estás limitando la gran ayuda que otros pueden aportar... saludos ![]() |
| |||
MateoVasco .. La función CURDATE() de Msyql .. genera un aaaa-dd-mm y eso es standar por qué lo almacenas en un campo DATE .. Eso sobre la BD no se puede cambiar (de como lo guarda) pero si que puedes leerlo con el formato que quieras aplicando la función de Mysql (SQL) : DATE_FORMAT() a la hora de presentar esos datos ... CHAMO01 CURDATE() son funciones de MYSQL .. y son sentencias SQL .. las cuales se han de ejecutar sobre la base de datos Msyql .. Las sentencias SQL las ejecutas con la función de PHP: mysql_query() .. Te comento .. que si bien estás programando en PHP .. también estás trabajando con Base de datos (en tu caso Mysql) y esta se le hacen "consultas" con su lenguaje própio: SQL (Lenguaje estructurado de consultas) .. Así que intenta diferenciar que cosa es de "PHP" y que es cosa de "Mysql" .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |