Dúvida - Webservice JSON

Enviada por Aprendiz 
Aprendiz
Dúvida - Webservice JSON
12 de November de 2012 às 09:22AM
Estou criando um Webservice utilizando JSON. O mesmo vai disponibilizar dados de varias tabelas em uma única requisição. Não tenho dúvidas de como criar o mesmo (JSON/PHP), mas gostaria de saber como faço no caso de varias TABELAS, ou seja, devolvo tudo em um unico array como se faz quando se usa uma única TABELA, ou como seria? Caso: Quero retornar dados de duas TABELAS uma sendo a TABELA CLIENTES e a outra TABELA PRODUTOS.

Grato e aguardo qualquer orientação.
Marcos Regis
Re: Dúvida - Webservice JSON
12 de November de 2012 às 11:25AM
acho que o melhor é usar algo assim

dados=array('clientes'=>array(1=>'dado',2=>'dado'),'produtos'array(1=>'dado',2=>'dado'));

A menos que os dados estejam ligados por alguma informação. Aí neste caso é melhor usar algo como

dados=array(1=>array(cliente.dado, cliente.dado2, produto.dado1, produto.dado2),2=>array(cliente.dado, cliente.dado2, produto.dado1, produto.dado2));


Não tem jeito certo ou errado e sim o jeito que funcione para sua necessidade.
Eu costumo pensar em como seria a resposta em XML e apenas converto para array e json.
Aprendiz
Re: Dúvida - Webservice JSON
12 de November de 2012 às 01:57PM
Achei legal quando você menciona "não existe jeito certo ou errado e sim o jeito que funcione". O problema é que tenho que fazer isso pra varias tabelas. No geral vão ser umas 6 (seis), mas como já falar... não estou sabendo a melhor maneira de fazer isso. Mesmo com o seu comentário a coisa não "clariou" não. Outra: O fato deu querendo usar JSON é que fica mais rápido e mais simples de tratar a informação, o XML é legal, mas pra mim, não gosto muito não. Eu até poderia retorna uma string separando por pipes ("|") e tratar no clientes, mas o problema é como ARRUMAR isso tudo em uma requisição só. Acho que o meu PROBLEMA é esse: COMO ARRUMAR esses dados de retorno.

Grato pela sua atenção e aguardo o seu valioso comentário.
Marcos Regis
Re: Dúvida - Webservice JSON
13 de November de 2012 às 06:51AM
Eu penso assim.
Se a busca é feita desta forma

SELECT A.campo1,A.campo2,B.campo1,B.campo2 FROM tabela1 A JOIN tabela2 B on a.id=b.id_tabela1

é melhor usar o resultado em um unico vetor.

Se são dados que provém de consultas desligadas uma as outras é melhor usar mais de um vetor.
Aprendiz
Re: Dúvida - Webservice JSON
14 de November de 2012 às 09:04AM
No meu caso, de uma certeza forma todas estão ligada por chave estrangeira, pois o retorno dessa requisição vão constar as tabelas de cadastro e as de movimentos, aonde as de movimentos são mestre detalhe (pedido/itens). O problema é como devo arrumar isso. Confesso que não estou sabendo "formatar" esse unico array com com tudo junto. Será que o colega nao poderia me mostrar com ficaria o array (formatação), pois a rotina (PHP) saberei com criar.

Grato e aguardo qualquer tipo de ajuda.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.