Foros del Web » Programando para Internet » PHP »

Recorrer y acceder a los datos en una cadena Json guardada en base de datos.

Estas en el tema de Recorrer y acceder a los datos en una cadena Json guardada en base de datos. en el foro de PHP en Foros del Web. Buenas gente, me ha surgido un gran problema con este tema y a ver si alguna alma caritativa me puede orientar un poco. Resulta que ...
  #1 (permalink)  
Antiguo 18/10/2016, 15:04
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Recorrer y acceder a los datos en una cadena Json guardada en base de datos.

Buenas gente, me ha surgido un gran problema con este tema y a ver si alguna alma caritativa me puede orientar un poco.

Resulta que estoy usando una base de datos pero en vez de guardar los datos por columnas separadas como habitualmente, estoy guardando los datos en una cadena JSON y en una única columna. Luego con los datos quiero crear un archivo .txt con los datos expuestos en la cadena json de esta forma: {"Dia: "13/12/2016","00:00":{"Persona": "Jose"}, "00:05":{"Persona": "Dani"} y que los pinte en forma de tabla por ejemplo así:

HORA PERSONA

00:00 Jose
00:05 Dani

Y así sucesivamente. Mi pregunta es, como puedo acceder a los datos de la cadena JSON con PHP?? y si quiero crear un archivo de texto .txt y sacar con esa configuración los datos como hacerlo.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 19/10/2016, 01:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Recorrer y acceder a los datos en una cadena Json guardada en base de dato

me parece que esta incorrecto tu formato de json
{"Dia: "13/12/2016","00:00":{"Persona": "Jose"}, "00:05":{"Persona": "Dani"}
  #3 (permalink)  
Antiguo 20/10/2016, 06:24
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Recorrer y acceder a los datos en una cadena Json guardada en base de dato

Los datos en json deberías guardarlos con json_encode($array), y después para volverlos a tenerlos en un array deberías usar json_decode($cadenaJson, true), el segundo parámetro indica que quieres que te lo devuelva en un array. Una vez tengas esto ya puedes recorrer el array e ir guardando por líneas en el archivo de texto.
  #4 (permalink)  
Antiguo 21/10/2016, 04:03
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Recorrer y acceder a los datos en una cadena Json guardada en base de dato

Yo sinceramente normalizaria los datos en la base de datos, no tiene sentido guardarlos en json por diversos motivos, y siempre puedes crear to objeto en json después de extraer los datos de la bd.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 21/10/2016, 09:11
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Recorrer y acceder a los datos en una cadena Json guardada en base de dato

Cita:
Iniciado por xerifandtomas Ver Mensaje
Yo sinceramente normalizaria los datos en la base de datos, no tiene sentido guardarlos en json por diversos motivos, y siempre puedes crear to objeto en json después de extraer los datos de la bd.
A mi guardar datos en json en la base de datos me ha venido bien a veces, sobretodo cuando se tenían que guardar datos diferentes para cada registro, cuando el número de columnas no puede estar cerrado, ya que un registro puede tener 2 datos y otro 100.
Por lo que se ve no es su caso, pero no lo se.
  #6 (permalink)  
Antiguo 21/10/2016, 16:42
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Recorrer y acceder a los datos en una cadena Json guardada en base de dato

Cita:
sobretodo cuando se tenían que guardar datos diferentes para cada registro, cuando el número de columnas no puede estar cerrado, ya que un registro puede tener 2 datos y otro 100.
Lo siento, pero sigo sin estar de acuerdo, guardar 1, 100, ó 1M de registros relacionados con otro registro concreto nos es problema alguno para una base de datos, bien estructurada.

Guardar los datos en json en la base de datos no aporta ningún beneficio, más bien todo lo contrario. JSON esta pensado para el intercambio de datos, NO para su almacenamiento.
__________________
Unset($vida['malRollo']);

Etiquetas: cadena, json, tabla
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 09:36.