Nueva pregunta

Pregunta:

Fecha: 02-10-2018 04:52:07 (En Español)

Consultas a Json con php o Js[Resuelta]

Hola a todos, quisiera que me ayuden con el siguiente problema que tengo ya busque en Google y aun no encontré.
Verá, tengo un Json con una cantidad impresionante de datos de viajes turistipos, lo que decía hacer es consultar de ese json, solo los viajes que tieneno un costo menor a lo que se elige en un select, y que los viajes empieza en X fecha y termine en X fecha seleccionada por el usuario, esa consulta como le hago a un Json?

Alguna ejemplo que tengan o ideas que me pueden dar, porfavor.
Etiquetas: Javascript - JQuery - PHP - PHP Avanzado Votos: 0 - Respuestas: 9 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 02-10-2018 07:09:41 Hola saludos, lo que te recomiendo es que:
    Si el archivo json no cambia mucho (1 vez al dia, o cada semana) lo recorras una sola vez, y lo guardes en una base de datos dicha informacion, y haces tus consultas directamente a la base de datos.
    En su caso de que sea mucho el cambio entre una hora y otra, entonces lee el archivo, lo guardas en un arreglo y lo ordenas, con base a ello, podras trabajar con arreglos...

    En lo personal te propongo lo siguiente:
    1 Verificar el tiempo de actualizacion (o brincar al 6)
    2 leer archivo
    3 convertir a arreglos
    4 limpiar tabla (asi siempre estara actualizada y sin duplicidad de informacion)
    5 insertarlo a la tabla en base de datos
    6 Hacer la busqueda en la base de datos
    7 presentar resultados.


    despues de leer el archivo, lo guardas en una variable en este ejemplo $contenidojson:

    $contenidojson = json_decode($contenidojson);  /** con esto lo pasas de json a array **/


    Lo demas es basico, con esa instruccion lo que te regrese, lo tendras en un arreglo.

    Recuerda que con
    print_r($contenidojson)

    podras ir viendo lo que tienes...

    Saludos....
    Stryfe™
      Votos: 2 - Link respuesta
     
  • Fecha: 02-10-2018 08:24:13 Muy buena la sugerencia de Ernesto. Lo único que cambiaría es el print_r por usar algún debugger como XDebug. Acá está el link a un video que explica cómo hacerlo.

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 02-10-2018 11:31:27 Justo me crucé con este proyecto que creo que te va a ayudar.

    Se trata de una especie de ORM para json.

    Avísame cómo te fue!
      Votos: 0 - Link respuesta
     
  • Fecha: 02-10-2018 17:29:10 Ernesto, Mauro. Lo mismo pensé en manejarlo eno una base de datos, de echo son datos estáticos. Pero mi jefe se aferra a que lo tenemos que manejar en un Json, dice que utiliza menos recursos.

    De todas maneras Muchas gracias por su ayuda, me servirá para buscar ideas y solucionar eso.
      Votos: 0 - Link respuesta
     
  • Fecha: 03-10-2018 06:29:19 No veo cómo piensa que va a utilizar menos recursos... especialmente si es un archivo muy grande...

    Además, dependiendo de la cantidad de usuarios concurrentes y demás, va a ser muy ineficiente... de última, ¿por qué no usar una base de datos no relacional? Ya que de json no zafas...
      Votos: 1 - Link respuesta
     
  • Fecha: 03-10-2018 13:55:25 En sencillo, ya hice la prueba y funciona bien. Avisa lo antes posible si falla algo para corregirlo porque tengo que haces unas cosas o escríbeme al Facebook.

    P.D.: Quería pegar aquí toda la solución pero no se puede porque usé un String JSON muy largo y no cabe todo el ejemplo que puse, lo publiqué en mi Blog (espero que no te moleste que quede a la vista de otros que mas adelante puedan llegar a tener el mismo problema):

    https://leondferrer.wordpress.com/2018/10/03/17/Problema PHP / JSON
      Votos: 1 - Link respuesta
     
  • Fecha: 03-10-2018 17:21:55 Muchas gracias león, lo hice de esa manera y me a funcionado, no alo 100% pero ahí hice lo necesário.   Votos: 1 - Link respuesta
     
  • Fecha: 03-10-2018 21:09:55 Entiendo que lo que tienes es una tabla de datos en json, con sus correspondientes columnas/campos y filas/registros.

    Y no quieres o no puedes usar una base de datos para después hacer las consultas...

    Pues así a primera vista, a ver si te sirven estas pistas:

    1.- Obviamente debes decodificar con json_decode(), con lo cual obtendrás un array de objetos (lo más lógico), o un array bidimensional, $viaje[$indice][$campo] según lo configures.

    2.- Hay un montón de funciones PHP que te permiten hacer operaciones y ordenaciones con arrays y objetos. Puedes programar las consultas que necesites en funciones o en métodos de una clase que definas.

    También puedes usar bucles y variables puente para filtrar u ordenar el array y así obtener el resultado que buscas...

    Ordenar alfabéticamente un array fue de las cosas más espectaculares que aprendí cuando empecé a programar en Basic.

    Por ejemplo si buscas la fecha menor: lees cada fecha ( $viaje[$i]->fecha ) y si es menor que la anterior guardas el índice $lamenor = $i, de manera que $viaje[$lamenor] será el viaje con la menor fecha.

    Y así... Consultas más complejas tendrán una programación más compleja.

    Pero PHP con sus tantas funciones de arrays nos lo pone más fácil, creo:

    http://php.net/manual/en/ref.array.php

    Otra opción es la que te han dicho, acudir a alguna librería externa, que desconozco.

    Espero te sirva.
      Votos: 1 - Link respuesta
     
  • Fecha: 03-10-2018 21:14:02 Excelente amigo, un saludo.

    ¡¡No olvides marcar como solucionado!!
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com