Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] tomar valores con foreach

Estas en el tema de tomar valores con foreach en el foro de PHP en Foros del Web. buenas, esotoy usando foreach para tomar valores de un archivo xml, he podido extraer una cadena completa de una etiqueta $fecha = $wpt->{'time'}; el problema ...
  #1 (permalink)  
Antiguo 13/06/2014, 14:44
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
tomar valores con foreach

buenas, esotoy usando foreach para tomar valores de un archivo xml, he podido extraer una cadena completa de una etiqueta

$fecha = $wpt->{'time'};

el problema es que viene en este formato 2014-06-12T13:34:33Z y no se como hacer para que quede solo la fecha asi 2014-06-12.
cualquier ayuda sera bienvenida, gracias
  #2 (permalink)  
Antiguo 13/06/2014, 15:00
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: tomar valores con foreach

Podrías partir la cadena con explode('T',$cadena) o con un substr($cadena,0,10) en realidad es algo trivial.
  #3 (permalink)  
Antiguo 13/06/2014, 15:02
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: tomar valores con foreach

Si quieres cambiarle el formato más tarde para mostrarlo, etc... con DateTime:

Código PHP:
Ver original
  1. echo (new DateTime('2014-06-12T13:34:33Z'))->format('d/m/Y');
  #4 (permalink)  
Antiguo 13/06/2014, 15:03
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: tomar valores con foreach

php cuenta con funciones y clases para esa terea. Asi que lo primero es que vayas al manual y te empapes de conocimiento: http://www.php.net/manual/en/refs.calendar.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 13/06/2014, 15:09
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: tomar valores con foreach

muchisimas gracias, funciono. les dejo la solucion :
$fecha = $wpt->{'time'};
$fecha = substr($fecha,0,10);
  #6 (permalink)  
Antiguo 13/06/2014, 15:19
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: tomar valores con foreach

hmmmm eso esta bien si solo vas a imprimir. Pero si vas a hacer operaciones o a cambiar el formato es mejor la opción de Lolainas.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 13/06/2014, 15:21
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: tomar valores con foreach

lamentablemente funciona, pero no aca:
Código PHP:
Ver original
  1. $gpx= simplexml_load_file('1.gpx');
  2.  
  3. foreach($gpx->wpt as $wpt) {
  4.     $lat   = $wpt['lon'];
  5.     $lon   = $wpt['lat'];
  6.     $ele   = $wpt->ele;
  7.     $fecha = $wpt->{'time'};
  8.     $fecha = substr($fecha,0,10);
  9.     $name  = $wpt->name;
  10.     $cmt   = $wpt->cmt;
  11.    
  12.     $query = "INSERT INTO $usertable (fecha,lat,lon,ele,name,cmt) VALUES ('$fecha','$lat','$lon','$ele','$name','$cmt')";  
  13.     //echo $query;
  14.     mysql_query($query,$db);
  15. }
si bien toma los valores me corta el bucle, alguna idea?
  #8 (permalink)  
Antiguo 13/06/2014, 15:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: tomar valores con foreach

De que tipo es el campo fecha en tu base de datos ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #9 (permalink)  
Antiguo 13/06/2014, 15:41
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: tomar valores con foreach

es extraida de un archivo tipo xml
  #10 (permalink)  
Antiguo 13/06/2014, 15:48
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: tomar valores con foreach

En tu ejemplo estas insertando $fecha en un campo fecha en una BD. de que tipo es ese campo: date, datetime.. ??
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #11 (permalink)  
Antiguo 13/06/2014, 16:19
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: tomar valores con foreach

no, es varchar
  #12 (permalink)  
Antiguo 13/06/2014, 20:07
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: tomar valores con foreach

solucionado con una expresion regular! gracias de todos modos.
  #13 (permalink)  
Antiguo 13/06/2014, 20:17
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: tomar valores con foreach

Era mejor que usaras DateTime y que cambiaras el tipo de dato para fecha en tu DB. Pero bueno el gustobse rompe en generos
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: fecha, foreach, tomar
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 07:57.