Foros del Web » Programando para Internet » PHP »

una manita con fechas porfa

Estas en el tema de una manita con fechas porfa en el foro de PHP en Foros del Web. Solucionado gracias a gnzsoloyo :) Me estoy volviendo loco intentando poner la fecha de la base de datos mysql en español ya que se graba ...
  #1 (permalink)  
Antiguo 23/03/2009, 03:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 1
una manita con fechas porfa

Solucionado gracias a gnzsoloyo :)

Me estoy volviendo loco intentando poner la fecha de la base de datos mysql en español ya que se graba bien pero sale así: 2009-03-23

¿Se puede poner en castellano o español--> 23-03-2009 ?
Digo en la tabla de la base de datos mysql

El código que empleo para guardarla es este:
Código PHP:
<?php
include("../conexion.php");
$MENU=$_REQUEST['menu'];
$FECHA=date("Y/m/d");
mysql_query("insert into tabla_menu(menu,fecha) values('$MENU','$FECHA')");
?>
Muchas gracias

Última edición por santiago_ra; 23/03/2009 a las 06:54
  #2 (permalink)  
Antiguo 23/03/2009, 05:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: una manita con fechas porfa

El problema del formato tiene un extenso tratamiento, pero para el caso te diremos:
1. SI, es posible cambiar el formato de fecha por default de MySQL, tanto en lo que muestra como en lo que almacena, pero no es recomendable. Si lo haces tendrás problemas de compatibilidad de formatos entre servidores.
2. Lo que te conviene es respetar el formato "aaaa-mm-dd" (Y/M/D) en el INSERT y administrarlo en el SELECT.
3. Para el manejo de la fecha usas DATE_FORMAT(campoFecha,'%Y-%m-%d'). Puedes cambiar los guiones por las barras, eso no afecta. Fijate en esta página. Allí tendrás todos los códigos: 12.5. Funciones de fecha y hora
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/03/2009, 06:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: una manita con fechas porfa

Antes que nada muchas gracias por responder.

El tema es, que, yo pienso en el buscador, cuando el visitante hace una consulta de búsqueda y al extraer la fecha de la base de datos la consulta es nula puesto que la fecha en la tabla esta en formato inglés, al controntrario de como la muestro, que es en castellano.

¿Lo que hay que hacer es formatear la fecha para mostrarla en castellano y 2 añadirle a la consulta (en este caso es para el buscador) select, DATE_FORMAT(campoFecha,'%Y-%m-%d') para que el usuario al teclear la fecha, digamos de forma normal, la muestre o imprima ?

Voy a probar con lo que me has escrito.

Gracias gnzsoloyo
  #4 (permalink)  
Antiguo 23/03/2009, 06:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: una manita con fechas porfa

Que buena idea has tenido gnzsoloyo, ya imprime bien la fecha, Gracias.

Yo queria cambiar el formato de fecha en la tabla mysql y lo que hay que hacer es darle el formato de fecha a la consulta select, ainssss que despistado soy.


Pongo el código completo para aquellos que lean este tema y esten interesados.

Código para guardar la fecha en la tabla de la base de datos mysql.(guardar.php)
Código PHP:
<?php
include("conexion.php");
$MENU=$_REQUEST['menu'];
$FECHA=date("Y/m/d");
mysql_query("insert into tabla_menu(menu,fecha) values('$MENU','$FECHA')");
?>
(listar.php)
Código para imprimir la fecha en español / castellano. (esto no es mio lo saque buscando en la red).

Nota: La function va debajo de la etiqueta de apertura de php.
Código PHP:
<?php
include("conexion.php"); 

function 
fechaesp ($fecha) {
$data=split("-",$fecha);
echo 
$data[2]."/".$data[1]."/".$data[0];
return 
$retval;
}

$registros=mysql_query("select * from tabla_menu where menu like '%$BUSQUEDA%' or DATE_FORMAT(fecha,'%d/%m/%Y') like '%$BUSQUEDA%' order by cod desc ");}     
while(
$reg=mysql_fetch_array($registros)) {
$fecha=$reg['fecha'];
echo 
fechaesp($fecha);

?>

(listar.php)
Código para la consulta select , que en este caso es para el buscador.
Al teclear en el buscador la fecha de forma 25/03/2009 sale perfecta la consulta.
Código PHP:
$registros=mysql_query("select * from tabla_menu where menu like '%$BUSQUEDA%' or DATE_FORMAT(fecha,'%d/%m/%Y') like '%$BUSQUEDA%' order by cod desc limit $REGISTRO_INICIAL, $ELEMENTOS_POR_PAGINA"); 

Última edición por santiago_ra; 23/03/2009 a las 06:51
  #5 (permalink)  
Antiguo 23/03/2009, 09:27
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: una manita con fechas porfa

la función split es obsoleta en php 5.3 en la version 6 no estará disponible, en ontraposición puedes utilizar explode, ya que simplemente divides por (-).

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:48.