Consulta sobre fecha en MySql

Tengo en MySql una tabla muy cargada con fechas del estili 2015-07-06, y cuando hago la consulta de esa tabla en PHP me muestra así. Pero quisiera que me dijiera el día, por ejemplo, lunes 06 de junio de 2015, pero no quiero tocar nada de la base de datos. ¿Se puede?

Respuesta
2

Cuando hagas la consulta a la base de datos, tienes que darle formato al campo de fecha, por ejemplo

$consulta = mysql_query("SELECT DATE_FORMAT(fecha, '%W %d %M %Y') AS fecha FROM ventas);

Te he resaltado donde tienes que ocupar esa función en la consulta a la base de datos y le he definido un alias llamado fecha.

Si tienes dudas, me gustaría que pusieras el código de la consulta a la base de datos.

$rows=mysql_query("SELECT
tema.unidad, tema.idt, clases.tema, clases.fecha, clases.d, clases.nd, planificacionesdiarias.archivo,
planificacionesdiarias.archivohabilitado
FROM
clases,
tema,
planificacionesdiarias
WHERE
tema.idt = clases.unidad
AND
planificacionesdiarias.idplanificacion = clases.nroclase
ORDER BY planificacionesdiarias.fecha ASC;");

Ahí envio el codigo de consulta SQL

Prueba con esto:

//Cambiamos a español el formato de fechas de mysql

mysql_query("SET lc_time_names = 'es_UY'");

//Hacemos la consulta para que muestre la fecha como indicamos

$rows=mysql_query("SELECT tema.unidad, tema.idt, clases.tema, CONCAT_WS(' ',
CONCAT(UCASE(SUBSTRING(DAYNAME(clases. Fecha), 1, 1)), LCASE(SUBSTRING(DAYNAME(clases. Fecha), 2))),
DATE_FORMAT(clases. Fecha,'%d de '),
CONCAT(UCASE(SUBSTRING(MONTHNAME(clases. Fecha), 1, 1)), LCASE(SUBSTRING(MONTHNAME(clases. Fecha), 2)))
) AS fecha, clases.d, clases. Nd, planificacionesdiarias. Archivo,

Planificacionesdiarias. Archivohabilitado
FROM
Clases,
tema,
planificacionesdiarias
WHERE
tema.idt = clases.unidad
AND
planificacionesdiarias.idplanificacion = clases.nroclase
ORDER BY fecha ASC;");

¡Gracias!  Anduvo a la perfección. Tuve que cambiar un par de errores que me daba, pero anduvo a la perfección.

Muchísimas gracias.

Ok, que bueno que te haya funcionado, sin complicarte la vida configurando servidores y haciendo otras cosas.

1 respuesta más de otro experto

Respuesta
1

Usando la función date de php puedes usar el formato que quieras.

$fecha = strtotime($fechaDeMysql);

echo date("j F Y", $fecha);

//mostrara 10 Julio 2013

Para confuigurarlo a tu gusto, solo tienes que pasar el formato que quieras.

http://php.net/manual/es/function.date.php 

Yo tengo estos datos en donde me trae la información de MySql, 

<td width="150px"><?echo $row['unidad']?></td>
<td width="150px"><? echo $row['tema'];?></td>
<td width="150px" align='center'><? echo $row['fecha'];?></td>
<td width="80px" align="center"><? echo $row['d'];?></td>
<td width="80px" align="center"><? echo $row['nd'];?></td>

¿Cómo lo colocaría esas variables para en vez de que me de 2015-06-07 me diera lunes 07 de junio de 2015?

<td width="150px" align='center'><? $fecha = strtotime($row['fecha']); echo date("j \d\e F \d\e Y", $fecha);?></td>

Lo he puesto de memoria el formato, pero esa seria la idea.

Me aparece 6 de March de 2015 y no en español como me gustaría.

Me aparece 6 de March de 2015 y no en español como me gustaría.

Eso se complica porque depende de la configuración del servidor, etc.

Mirate este enlace que ahí lo explican bien.

https://lachabela.wordpress.com/2012/02/24/fechas-en-espanol-con-php-y-setlocale/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas