Foros del Web » Programando para Internet » PHP »

Cambiar Formato de fecha traida de una BBDD

Estas en el tema de Cambiar Formato de fecha traida de una BBDD en el foro de PHP en Foros del Web. Hola amigos, tengo una consulta $query_mensajes = sprintf("SELECT * FROM avisos WHERE id = %s", GetSQLValueString($colname_id, "text")); Pero la fecha me la muestra en formato ...
  #1 (permalink)  
Antiguo 28/10/2011, 12:26
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Cambiar Formato de fecha traida de una BBDD

Hola amigos, tengo una consulta
$query_mensajes = sprintf("SELECT * FROM avisos WHERE id = %s", GetSQLValueString($colname_id, "text"));

Pero la fecha me la muestra en formato Año/Mes/Dia
<input type="text" name="nombre" value="<?php echo htmlentities($row_mensajes['fecha'], ENT_COMPAT, 'utf-8'); ?>" />

Me gustaria mostrarla e formato DD/MM/YY

encontre que se puede hacer con este codigo

sprintf("SELECT date_format(fecha, \'%d-%m-%Y\') FROM avisos_profesor WHERE id = %s", GetSQLValueString($colname_alumnos, "text"));

pero me sale este error Warning: sprintf() [function.sprintf]: Too few arguments in C:\xampp\htdocs\SIGAV\avisosp\editar.php on line 115
Query was empty

Existe otra manera ???? ayuda por fis
  #2 (permalink)  
Antiguo 28/10/2011, 12:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar Formato de fecha traida de una BBDD

Lo que sucede es que %d-%m-%Y es para el formato interno de MySQL, pero también son caracteres que emplea sprintf() por eso no concuerdan los placeholders con los argumentos dados.

Debes escapar dicha secuencia interna así: %%d-%%m-%%Y

Consulta el manual:
http://php.net/sprintf
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/10/2011, 13:02
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Gracias por tu ayuda mira he cambiado asi, como me indicas
sprintf("SELECT date_format(fecha, \'%%d-%%m-%%Y\') FROM avisos WHERE id = %s", GetSQLValueString($colname_alumnos, "text"));


pero tengo este error
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'%d-%m-%Y\') FROM avisos WHERE id = '2'' at line 1
  #4 (permalink)  
Antiguo 28/10/2011, 13:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar Formato de fecha traida de una BBDD

Sucede que estás escapando las comillas \' innecesariamente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/10/2011, 13:29
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

He quitado las comillas simples... SELECT date_format(fecha, \%%d-%%m-%%Y\)

pero me arroja el mismo error Gracias
  #6 (permalink)  
Antiguo 28/10/2011, 13:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar Formato de fecha traida de una BBDD

No, no.

Yo no dije que quitaras las comillas sólo los "escapes".

Supuse que si sabías lo que significa "escapar caracteres".

Los escapes son las barras invertidas \ así que solo debías quitar las barras, no las comillas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 28/10/2011, 13:38
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: Cambiar Formato de fecha traida de una BBDD

Cita:
Iniciado por Briss Ver Mensaje
He quitado las comillas simples... SELECT date_format(fecha, \%%d-%%m-%%Y\)

pero me arroja el mismo error Gracias
Dios mio !!!

Llévatelo esta noche


jajajajjaa

prueba asi, eso trato de decirte pateketrueke

Código:
SELECT date_format(fecha, '%%d-%%m-%%Y')
TIP: escapara a las comillas es cuando las escribes despues de un slash, esto se hace cuando estas usando el mismo tipo (sean simples o dobles), pero tu estas usando ambas, asi que no necesitas escapar.

esto es escapar:

echo "texto sin comilla, \"texto con comillas\"";

para este otro no necesitas

echo "texto sin comilla, 'texto con comillas'";

salu2
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #8 (permalink)  
Antiguo 28/10/2011, 13:41
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Jajaja sorry sorry aún me hago bolas mira lo tengo asi

sprintf("SELECT date_format(fecha, '%%d-%%m-%%Y') ...

<?php echo ($row_mensajes['fecha']); ?>

Pero no me muestra nada
  #9 (permalink)  
Antiguo 28/10/2011, 13:42
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Cambiar Formato de fecha traida de una BBDD

Hola que tal.

Con lo dicho por pateketrue debe de quedar así.

Más claro ni el agua jaja

Código PHP:
Ver original
  1. sprintf("SELECT date_format(fecha, '%%d-%%m-%%Y') FROM avisos WHERE id = %s", GetSQLValueString($colname_alumnos, "text"));

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #10 (permalink)  
Antiguo 28/10/2011, 13:45
Avatar de javithink  
Fecha de Ingreso: septiembre-2011
Ubicación: Sogamoso, Colombia
Mensajes: 34
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Cambiar Formato de fecha traida de una BBDD

Hola Briss,

Debes dejarla sin los \ que le pusiste:

sprintf("SELECT date_format(fecha, '%%d-%%m-%%Y') FROM avisos WHERE id = %s", GetSQLValueString($colname_alumnos, "text"));

Aca ves como funciona DATE_FORMAT de MySql: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

Por otro lado, si no te funciona o no sabes bien como trabaja, entonces recibe la fecha tal cual te la da MySql (YYYY-MM-DD) y la conviertes a DD-MM-YYYY con PHP...

Seria algo asi:

$dateBD = Result_MySql

$dateNew = date("d-m-Y", strtotime($dateBD));


Saludos..
__________________
Lo que te llevará al éxito no sera el camino sino tus pasos.
www.isourceltda.net
  #11 (permalink)  
Antiguo 28/10/2011, 13:46
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Gracias a TODOS , pues he cambiado la consulta jajaja

pero cuando mando a mostrar el campo <?php echo ($row_mensaje['fecha']); ?>
no visualizo nada
Gracias otra vez
  #12 (permalink)  
Antiguo 28/10/2011, 13:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambiar Formato de fecha traida de una BBDD

Sucede que al usar funciones de MySQL se cambian los nombres de salida de las columnas, por decirlo de algún modo.

Necesites redefinir dicha variable para que sea accesible:
Cita:
... date_format(fecha, '%%d-%%m-%%Y') AS fecha ...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 28/10/2011, 13:59
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Cita:
Iniciado por javithink Ver Mensaje
Hola Briss,

Debes dejarla sin los \ que le pusiste:

sprintf("SELECT date_format(fecha, '%%d-%%m-%%Y') FROM avisos WHERE id = %s", GetSQLValueString($colname_alumnos, "text"));

Aca ves como funciona DATE_FORMAT de MySql: http://dev.mysql.com/doc/refman/5.5/...on_date-format

Por otro lado, si no te funciona o no sabes bien como trabaja, entonces recibe la fecha tal cual te la da MySql (YYYY-MM-DD) y la conviertes a DD-MM-YYYY con PHP...

Seria algo asi:

$dateBD = Result_MySql


Gracias x tu ayuda solo no entiendo a q equivale $dateBD = Result_MySql

?????

$dateNew = date("d-m-Y", strtotime($dateBD));


Saludos..
  #14 (permalink)  
Antiguo 28/10/2011, 14:03
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 6 meses
Puntos: 29
Respuesta: Cambiar Formato de fecha traida de una BBDD

puedes usar estas funciones para transformar la fecha una vez que ya la obtuvistes del mysql y tambien para enviarla normal y convertirla en en mysql.


Código PHP:
Ver original
  1. <?php
  2. function cambiaf_a_normal($fecha){
  3.     ereg("([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha);
  4.     $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
  5.     return $lafecha;
  6. }
  7.  
  8. function cambiaf_a_mysql($fecha){
  9.     ereg( "([0-9]{1,2})-([0-9]{1,2})-([0-9]{2,4})", $fecha, $mifecha);
  10.     $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1];
  11.     return $lafecha;
  12. }
  13. $sql = "select mifecha from mitable where parametros";
  14. $rs = mysql_query($sql) or die(mysql_error());
  15. while($row=mysql_fetch_array($rs)){
  16. $fecha = cambiaf_a_normal($row[mifecha]);
  17. echo $fecha;
  18. }
  19. ?>

y listo
__________________
"Todos somos ignorantes, pero no todos ignoramos las mismas cosas"

http://www.pctec21.blogspot.com
http://www.pctec21.com
  #15 (permalink)  
Antiguo 28/10/2011, 14:03
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Cita:
Iniciado por pateketrueke Ver Mensaje
Sucede que al usar funciones de MySQL se cambian los nombres de salida de las columnas, por decirlo de algún modo.

Necesites redefinir dicha variable para que sea accesible:
Gracias Funcona PERFECTO ...
disculpa mi ignorancia
  #16 (permalink)  
Antiguo 28/10/2011, 14:04
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Cambiar Formato de fecha traida de una BBDD

Grcais a TODOS !!!
  #17 (permalink)  
Antiguo 28/10/2011, 14:59
Avatar de javithink  
Fecha de Ingreso: septiembre-2011
Ubicación: Sogamoso, Colombia
Mensajes: 34
Antigüedad: 12 años, 7 meses
Puntos: 4
Respuesta: Cambiar Formato de fecha traida de una BBDD

$dateBD = Result_MySql

$dateNew = date("d-m-Y", strtotime($dateBD));


TRADUCCIÓN

$dateBD = $row_mensaje['fecha']

$dateNew = date("d-m-Y", strtotime($dateBD));



Es que aveces me da pereza escribir todo ;)
__________________
Lo que te llevará al éxito no sera el camino sino tus pasos.
www.isourceltda.net

Etiquetas: bbdd, fecha, formato, html, sql
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 16:25.