Foros del Web » Programando para Internet » PHP »

Fecha de formato mysql a formato español

Estas en el tema de Fecha de formato mysql a formato español en el foro de PHP en Foros del Web. Hola, he buscado en guguel y en este foro, y encuentro lo que busco pero no lo se acoplar a mi consulta. Tengo fechas guardadas ...
  #1 (permalink)  
Antiguo 03/01/2008, 07:42
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 20 años, 2 meses
Puntos: 0
Fecha de formato mysql a formato español

Hola, he buscado en guguel y en este foro, y encuentro lo que busco pero no lo se acoplar a mi consulta.
Tengo fechas guardadas en mi base de datos, para mostrarlas lo hago de la siguiente forma (antes el usuario ha introducido una referencia (ref) en un formulario html):
Código PHP:
<?php
if(isset($_POST['ref']) && !empty($_POST['ref'])) {
include 
"conexion.php";
echo 
'Conectado';

$consulta  "SELECT fecha FROM `tabla` WHERE `ref` = {$_POST['ref']}";
$resultado mysql_query($consulta) or die('No ha habido resultados;: ' mysql_error());
while (
$linea mysql_fetch_array($resultadoMYSQL_ASSOC))
foreach (
$linea as $fecha)

echo 
"<table border='0' width='100%' id='table1' cellspacing='5' cellpadding='0'>
    <tr>
        <td bgcolor='#FFFFCC' align='left' width='152'><b>Fecha Nacimiento:</b></td><td>$fecha</td>
    </tr></table>"
;

mysql_free_result($resultado);

mysql_close($enlace);
   } else {

        echo 
"Error, no ha introducido todos los datos";

    }
Ahora me muestra la fecha: aaaa/mm/dd. Que tendria que añadir para que me mostrara la fecha como dd/mm/aaaa??

Saludos y gracias
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #2 (permalink)  
Antiguo 03/01/2008, 08:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Fecha de formato mysql a formato español

En su día usé una función que convertía fechas inglesas a españolas

Código PHP:
function fechaenesp($fechaening)
    {
    
ereg"([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})"$fechaening$fecha);
    
$fecha_esp=$fecha[3]."-".$fecha[2]."-".$fecha[1];
    return 
$fecha_esp;
    }

echo 
fechaenesp("2008-01-03"); 
... y viceversa

Código PHP:
function fechaening($fechaesp)
    {
    
ereg("([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})"$fechaesp$fecha);
    
$fecha_eng=$fecha[3]."-".$fecha[2]."-".$fecha[1];
    return 
$fecha_eng;
    }

echo 
fechaening("03-01-2008"); 
  #3 (permalink)  
Antiguo 03/01/2008, 08:33
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: Fecha de formato mysql a formato español

Gracias por la respuesta cucufate, ahora he encontrado esto en desarrolloweb:
Código PHP:
$fecha_ingles $fecha;
$traducir_fecha explode("-",$fecha_ingles);
$fecha_espaniol $traducir_fecha[2]." / ".$traducir_fecha[1]." / ".$traducir_fecha[0]; 
Y va perfecto, aquí el código completo:
Código PHP:
<?php
if(isset($_POST['ref']) && !empty($_POST['ref'])) {
include 
"conexion.php";
echo 
'Conectado';

$consulta  "SELECT fecha FROM `tabla` WHERE `ref` = {$_POST['ref']}";
$resultado mysql_query($consulta) or die('No ha habido resultados;: ' mysql_error());
while (
$linea mysql_fetch_array($resultadoMYSQL_ASSOC))
foreach (
$linea as $fecha)

$fecha_ingles $fecha;
$traducir_fecha explode("-",$fecha_ingles);
$fecha_espaniol $traducir_fecha[2]." / ".$traducir_fecha[1]." / ".$traducir_fecha[0];

echo 
"<table border='0' width='100%' id='table1' cellspacing='5' cellpadding='0'>
    <tr>
        <td bgcolor='#FFFFCC' align='left' width='152'><b>Fecha Nacimiento:</b></td><td>$fecha</td>
    </tr></table>"
;

mysql_free_result($resultado);

mysql_close($enlace);
   } else {

        echo 
"Error, no ha introducido todos los datos";
Saludos
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
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 21:59.