1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

RETORNO JSON EM PHP COM PASSAGEM DE PARAMETROS

Boa tarde! Pessoal estou quebrando a cabeça e chegou a hora de pedir ajuda…rs estou com problemas na passagem de parâmetros e retorno em json com PHP…

Preciso passar via url os parametros para uma query em my sql e o retorno desta query apresentar em json…

Este es códigos abaixo funcionam, porém não consigo passar parâmetros e o retorno não está como deveria:

este seria meu index.php

<?php header('Content-Type: application/json; charset=utf-8'); require_once 'classes/Cliente.php'; class Rest { public static function open($requisicao) { $url = explode('/', $requisicao ['url']); $classe = ucfirst($url[0]); array_shift($url); $metodo = $url[0]; array_shift($url); $parametros = array(); try { if (class_exists($classe)) { if (method_exists($classe, $metodo)) { $retorno = call_user_func_array(array(new $classe, $metodo), $parametros) ;

return json_encode(array($retorno)); } else { return json_encode(array('Método inexistente!')); } } else { return json_encode(array('Classe inexistente!')); } } catch (Exception $e) { return json_encode(array($e->getMessage())); }

} } if (isset($_REQUEST)) { echo Rest::open($_REQUEST); } ?>

esta seria minha classe:

<?php

class Cliente {

public function mostrar() { //{include_once 'index.php'; //$parametros = $url;}

$pdo = new PDO("mysql:host=db.com.br; dbname=db1;", "user1", "x0");

$sql = "SELECT (contato) FROM EMPRESAS WHERE cd_empresa = '007' "; $sql = $pdo->prepare($sql); $sql->execute();

$resultados = array();

while($row = $sql->fetch(PDO::FETCH_ASSOC)) { $resultados =$row; }

if (!$resultados) { throw new Exception("Cliente nao cadastrado!"); }

return $resultados; } }

Porém o retorno é este:

{"dados":{"Pessoa_contato":"XICO "}}

Se eu tento dar um trim para remover o espaço no final do registro eu recebo:

{"Contatos":"TRIM":{"Pessoa_contato":"XICO"}} Preciso de duas coisas:

1 - que o código do cliente (neste caso “007” possa ser informado para pesquisa

2 - o resultado retorne apenas { “Pessoa_contato”=“XICO”}

Obs.: se altero (array(‘Contatos’ => $retorno)); para (array($retorno)); no jason ele me coloca [ no início e ] no final do resultado, ficando assim: [{“Pessoa_contato”:"XICO"}]

Como resolver isto???

Se alguém puder me ajudar agradeço.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags json ou faça a sua própria pergunta.