Foros del Web » Programando para Internet » PHP »

MySQL a JSON intento de aporte

Estas en el tema de MySQL a JSON intento de aporte en el foro de PHP en Foros del Web. Hola a todos, es tema recurrente el pasar el resultado de una consulta mysql a json usando php, he leido que es mejor procesar las ...
  #1 (permalink)  
Antiguo 24/06/2011, 11:39
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
MySQL a JSON intento de aporte

Hola a todos, es tema recurrente el pasar el resultado de una consulta mysql a json usando php, he leido que es mejor procesar las consultas lo más posible en el servidor de BD que con php, ya me dicen ustedes si es así...
por eso he pensado que la forma más optima de obtener json seria que la misma bd te devolviera los resultados en dicho formato.

Usando las funciones CONCAT() y GROUP_CONCAT() lograriamos construir el JSON directamente desde la consulta SQL.

Código:
CREATE TABLE `user`(
	`id`    int not null auto_increment,
        `name`  varchar(100),
        `email` varchar(50),
        PRIMARY KEY(id)
) ENGINE = InnoDB;
Luego insertaremos unos cuantos registros.

Código:
INSERT INTO `user` (`name`, `email`) VALUES
('Cesar', '[email protected]'),
('Maria', '[email protected]'),
('Jose', '[email protected]'),
('Albert','[email protected]');
Finalmente realizaremos la consulta que nos traera el JSON.

Código:
SELECT
    CONCAT( "[",
        GROUP_CONCAT(
            CONCAT("{name:'",`name`,"'"),
            CONCAT(",email:'",`email`,"'}")
        )
    ,"]")
AS json FROM users;
resultado:

Código:
[
    {
        name : 'Cesar',
        email: '[email protected]'
    },
    {
        name : 'Maria',
        email: '[email protected]'
    },
    {
        name : 'Jose',
        email: '[email protected]'
    },
    {
        name : 'Albert',
        email: '[email protected]'
    }
]
  #2 (permalink)  
Antiguo 24/06/2011, 12:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: MySQL a JSON intento de aporte

Esta bueno, genial!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/06/2011, 12:21
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: MySQL a JSON intento de aporte

gracias pateketrueke, entonces piensas que es mejor procesarlo así en el servidor de BD que no con php ?
  #4 (permalink)  
Antiguo 24/06/2011, 12:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: MySQL a JSON intento de aporte

Depende, quisiera probar tu código con alguna consulta mas compleja a ver que resulta.

Pero sin duda no siempre necesitamos el JSON directamente, hay algunas veces que necesitamos procesarlo, filtrarlo y finalmente exportarlo a JSON.

En algo sencillo no dudo que funcione a la perfección, pero no sabemos hasta que punto esto es verdad.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/06/2011, 12:39
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 10 meses
Puntos: 209
Respuesta: MySQL a JSON intento de aporte

ok, gracias más tarde pongo a mi servidor a "sudar" jaja, para probar la veracidad de la afirmación ;)

Etiquetas: intento, json, mysql
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 12:00.