Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Ler base de dados MySQL online

Criei uma API em PHP para ler os dados no servidor online:

<?php

header("Access-Control-Allow-Origin: *"); header("Content-Type: text/html; charset=utf-8");

$data = file_get_contents("php://input");

$objData = json_decode($data);

$dns = 'mysql:dbname=ramosdainforma70;host=179.188.16.109'; $user = 'usuario'; $pass = 'senha';

$counter = $objData->counter; $token = $objData->token;

try { $con = new PDO($dns, $user, $pass); if(!$con){ echo "Não foi possivel conectar com Banco de Dados!"; } if ($token === "1f3d2gs3f2fg3as2fdg3re2t1we46er45" && isset($token)) {

$query = $con->prepare('SELECT * FROM usuario_app ORDER BY nome LIMIT '.$counter.', 5'); $query->execute(); $out = "["; while($result = $query->fetch()){ if ($out != "[") { $out .= ","; } $out .= '{"cod_user": "'.$result["cod_user"].'",'; $out .= '"nome": "'.$result["nome"].'",'; $out .= '"pais": "'.$result["pais"].'",'; $out .= '"cep": "'.$result["cep"].'"'; $out .= '"logradouro": "'.$result["logradouro"].'",'; $out .= '"complemento": "'.$result["complemento"].'",'; $out .= '"bairro": "'.$result["bairro"].'",'; $out .= '"cidade": "'.$result["cidade"].'"'; $out .= '"estado": "'.$result["estado"].'",'; $out .= '"celular": "'.$result["celular"].'",'; $out .= '"email": "'.$result["email"].'",'; $out .= '"senha": "'.$result["senha"].'"'; $out .= '"data_cadastro": "'.$result["data_cadastro"].'",'; $out .= '"latitude": "'.$result["latitude"].'",'; $out .= '"longitude": "'.$result["longitude"].'"}';

} $out .= "]"; echo $out;

echo "$query";

} } catch (Exception $e) { echo "Erro: ". $e->getMessage(); };

E criei um Service.js:

(function(){ "use strict";

angular.module("myApp").value("Config", {

getUrl: "http://ramosdainformatica.com.br/food/" });

angular.module("myApp").service("Data", function($http, Config){ //recuperação de dados this.getData = function(params){ return $http({ method: "POST", url: Config.getUrl + "apiDBnhac.php", data: params, headers : { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8' } }); };

}); })();

E um Controller:

(function() { "use strict";

angular.module("myApp").controller("initCtrl", function($scope, Data){ $scope.home = "Usuários"; $scope.perfil = "Perfil";

$scope.usuarios = [];

var getData = function(){ var params = { counter:$scope.usuarios.length, tokem:"1f3d2gs3f2fg3as2fdg3re2t1we46er45", };

Data.getData(params).success(function(data) { $scope.usuarios = data; }).error(function(data) { console.log(data? data: "Não foi possível acessar ao banco de dados."); });

};

getData();

}); })();

Mas não lê online.

3 respostas

Seu código está ilegível porque você não usou o código de formatação. Veja a dica de formatação em formatação.

Sugiro você fechar esse post e postar sua dúvida no curso de Php. Você testou se o navegador está retornando um JSON em um formato válido?

Ramos? Cole para mim o que é retornado pelo seu servidor quando você acessa seu serviço/api através do navegador.

solução!

Oi Ramos, vou deixar su post aberto mais uns 2 dias. Se não obtiver resposta eu vou fechá-lo. Mas não se preocupe, se a dúvida persistir, é só abrir um novo post. É uma maneira de me ajudar a controllar aqui no fórum o andando das dúvidas.

Abraços