как сделать и показать результаты 2 подзапросов в веб-сервисах php и создать кодировку json - PullRequest
0 голосов
/ 28 сентября 2018

Я работаю в веб-сервисе, но мне нужно получить данные из двух разных таблиц с учетом результата запроса в реляционной таблице

Как я могу сделать 2 запроса к двум различным таблицам с учетомучесть 3 запроса для получения данных этих запросов?

У меня есть реляционная таблица, в которой я храню идентификаторы, и мне нужно сделать запрос этой таблицы, а затем сделать два запроса к двум разным таблицам, чтобы получитьданные и показать их вместе в JSON, чтобы иметь возможность использовать его

пример:

$ query1 = "select * from family where ID = 2";

while ($ query1) {
$ consult2 = "select * from adults where son = $ query1 ['ID']";

$ consult3 = "select * from siblings where son = $ query1 ['ID']";
}

мой код для запроса это, в PHP:

require 'Database.php';

class Union {
    function __construct(){
    }

   public static function getById($id_vehiculo){
        // Consulta del vehiculo
        $consulta = "SELECT id_relacion, id_operador, id_vehiculo FROM uniontaxioperador WHERE id_vehiculo = ?";    

       try {
            // Preparar sentencia
            $comando = Database::getInstance()->getDb()->prepare($consulta);
            // Ejecutar sentencia preparada
            $comando->execute(array($id_vehiculo));
            // Capturar primera fila del resultado
            $row = $comando->fetch(PDO::FETCH_ASSOC);
            return $row;

        } catch (PDOException $e) {
            // Aquí puedes clasificar el error dependiendo de la excepción
            // para presentarlo en la respuesta Json
            return -1;
        }
    }
}

и показать JSON это:

require 'WS_consulta.php';

if ($_SERVER['REQUEST_METHOD'] == 'GET') {

    if (isset($_GET['id_vehiculo'])) {

        // Obtener parámetro id_vehiculo
        $parametro = $_GET['id_vehiculo'];

        // Tratar retorno
        $retorno = Union::getById($parametro);


        if ($retorno) {

            $union["estado"] = "1";
            $union["id_relacion"] = $retorno;
            // Enviar objeto json de la union
            print json_encode($union);
        } else {
            // Enviar respuesta de error general
            print json_encode(
                array(
                    'estado' => '2',
                    'mensaje' => 'No se obtuvo el registro'
                )
            );
        }

    } else {
        // Enviar respuesta de error
        print json_encode(
            array(
                'estado' => '3',
                'mensaje' => 'Se necesita un identificador'
            )
        );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...