Foros del Web » Programando para Internet » PHP »

Que le pasa a esta función?

Estas en el tema de Que le pasa a esta función? en el foro de PHP en Foros del Web. Hola a todos, tengo esta función pero me salta un error: Código PHP: function  fecha_mysql ( $fecha ){      if (isset( $fecha )){          $d = explode ...
  #1 (permalink)  
Antiguo 18/09/2012, 13:42
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Que le pasa a esta función?

Hola a todos, tengo esta función pero me salta un error:

Código PHP:
function fecha_mysql($fecha){ 
    if (isset(
$fecha)){ 
       
$d=explode(" "$fecha); $f=explode("/"$d[0]);
       return 
$f[0]."-".$f[1]."-".$f[2]; 
} } 
Cita:
Notice: Undefined offset: 1 in '''ruta del archivo''' on line 20

Notice: Undefined offset: 2 in '''ruta del archivo''' on line 20
La línea 20 es

Cita:
return $f[0]."-".$f[1]."-".$f[2];
Y evidentemente no me saca ningún dato...

¿Que puede estar pasando??
  #2 (permalink)  
Antiguo 18/09/2012, 13:53
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Que le pasa a esta función?

Se me ha olvidado decir como la uso:

La meto en la base de datos así:

'".fecha_mysql($_POST['f_nacimiento'])."', '".$otravariable."', ... etc etc
  #3 (permalink)  
Antiguo 18/09/2012, 13:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 4 meses
Puntos: 35
Respuesta: Que le pasa a esta función?

q ese array no tiene esas posciciones.
quieres separar la fecha con el "/" y deberia ser con el "-".
el formato de fecha de mysql es YYYY-MM-DD
  #4 (permalink)  
Antiguo 18/09/2012, 14:13
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Que le pasa a esta función?

Prueba asi:

Código PHP:
Ver original
  1. <?php
  2. function fecha_mysql($fecha){
  3. $fecha=date('Y/m/d');
  4.     if (isset($fecha)){
  5.        $d=explode(" ",$fecha);
  6.        $f=explode("/",$d[0]);
  7.        return $f[0]."-".$f[1]."-".$f[2];
  8. } }  
  9. echo fecha_mysql($fecha);
  10.       ?>

Ese error se debe a que estas accediendo a un array que no existe o esta mal pocisionado, tambien he visto que depende del formato de la fecha que pongas.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #5 (permalink)  
Antiguo 18/09/2012, 14:14
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Que le pasa a esta función?

Hola maxpower2008, no termino de entenderlo.

Tengo dos funciones:

Cita:

function mysql_fecha($fecha){
if (isset($fecha)){
$d=explode(" ", $fecha); $f=explode("-", $d[0]);
return $f[2]."/".$f[1]."/".$f[0];
} }

function fecha_mysql($fecha){
if (isset($fecha)){
$d=explode(" ", $fecha); $f=explode("/", $d[0]);
return $f[0]."-".$f[1]."-".$f[2];
} }
La primera me convierte de aaaa-mm-dd en dd/mm/aaaa

Y la segunda debería de ser al revés... no termino de entenderlo.. ¿?

Gracias por contestar!
  #6 (permalink)  
Antiguo 18/09/2012, 14:24
Avatar de TheScript  
Fecha de Ingreso: septiembre-2011
Ubicación: Spain
Mensajes: 164
Antigüedad: 12 años, 7 meses
Puntos: 30
Respuesta: Que le pasa a esta función?

Ya está!!!!! Por fin!! Hay que ver que tontería, era cierto que no estaba poniendo bien las posiciones:

Cita:
function fecha_mysql($fecha){
//$fecha=date('Y/m/d');
if(isset($fecha)){
$d=explode(" ",$fecha);
$f=explode("/",$d[0]);
return $f[2]."-".$f[1]."-".$f[0];
} } *
Retornaba f0,f1, f2, Cuando en realidad tenia que retornar F2, F1, F0.

Gracias amigos. Un saludo

Etiquetas: 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 21:30.