Implementando a Integração entre PHP + jQuery + jSon

Rosto do Jason de Sexta-Feira 13

Hoje estou postando um vídeo tutorial para quem ainda não conhece jSon, poder entender o funcionamento básico do compartilhamento de dados usando essa tecnologia.Como base, usaremos o PHP e o jQuery (ótima biblioteca Javascript).

Claro que por se tratar de um vídeo não é tão fácil ficar acompanhando o código. Por isso mesmo, estamos disponibilizando aqui o código para que você possa entender.

Aproveite e deixe um comentário aqui em baixo, ou no YouTube e assine o nosso canal!

Script para criar a tabela no postgres:

CREATE TABLE jogos
(
id serial NOT NULL,
nome text,
console text,
preco numeric(10,2)
)

dados.php:

/**
 * Tutorial jSON
 */

//Definir formato de arquivo
 header('Content-Type:' . "text/plain");

$host = "localhost"; // IP do Banco
 $user = "postgres"; // Usuário
 $pswd = "postgres"; // Senha
 $dbname = "tutoriais"; // Banco
 $con = null; // Conexão

$con = @pg_connect("host=$host user=$user password=$pswd dbname=$dbname") or die (pg_last_error($con));

//@pg_close($con); //Encerrrar Conexão

if(!$con) {
 echo '[{"erro": "Não foi possível conectar ao banco"';
 echo '}]';
 }else {
 //SQL de BUSCA LISTAGEM
 $sql = "SELECT * FROM jogos ORDER BY console";
 $result = pg_query($sql); //Executar a SQL
 $n = pg_num_rows($result); //Número de Linhas retornadas

if (!$result) {
 //Caso não haja retorno
 echo '[{"erro": "Há algum erro com a busca. Não retorna resultados"';
 echo '}]';
 }else if($n<1) {
 //Caso não tenha nenhum item
 echo '[{"erro": "Não há nenhum dado cadastrado"';
 echo '}]';
 }else {
 //Mesclar resultados em um array
 for($i = 0; $i<$n; $i++) { $dados[] = pg_fetch_assoc($result, $i); } echo json_encode($dados, JSON_PRETTY_PRINT); } } ?>


index.html:

<!DOCTYPE HTML>
<html lang="pt-br">
	<head>
		<meta charset="UTF-8">
		<link rel="icon" type="favicon.png" />
		<link rel="stylesheet" type="text/css" href="estilo.css">
		
		<!--jQuery-->
		<script src="http://code.jquery.com/jquery-2.0.3.min.js" type="text/javascript"></script>
		<!--Script-->
		<script src="script.js" type="text/javascript"></script>
		
		
	</head>
	<body onload="carregarItens()">
		<section>
			<h1>PortilloDesign Tutorial JSON + PHP</h1>
			<!--Área que mostrará carregando-->
			<h2></h2>
			<!--Tabela-->
			<table id="minhaTabela">
				<caption>Cadastro de Jogos</caption>
				<thead>
					<th>ID</th>
					<th>Jogo</th>
					<th>Console</th>
					<th>Valor</th>
				</thead>
				<tbody>
				</tbody>
			</table>
		</section>
	</body>
</html>

script.js:

/**
* Capturar itens do banco de dados
*/
function carregarItens(){
	//variáveis
	var itens = "", url = "dados/dados.php";

    //Capturar Dados Usando Método AJAX do jQuery
    $.ajax({
	    url: url,
	    cache: false,
	    dataType: "json",
	    beforeSend: function() {
		    $("h2").html("Carregando..."); //Carregando
	    },
	    error: function() {
		    $("h2").html("Há algum problema com a fonte de dados");
	    },
	    success: function(retorno) {
		    if(retorno[0].erro){
			    $("h2").html(retorno[0].erro);
		    }
		    else{
			    //Laço para criar linhas da tabela
			    for(var i = 0; i<retorno.length; i++){
				    itens += "<tr>";
				    itens += "<td>" + retorno[i].id + "</td>";
				    itens += "<td>" + retorno[i].nome + "</td>";
				    itens += "<td>" + retorno[i].console + "</td>";
				    itens += "<td>" + retorno[i].preco + "</td>";
				    itens += "</tr>";
			    }
			    //Preencher a Tabela
			    $("#minhaTabela tbody").html(itens);
			    
			    //Limpar Status de Carregando
			    $("h2").html("Carregado");
		    }
	    }
    });
}

Comentários

5 respostas para “Implementando a Integração entre PHP + jQuery + jSon”

  1. Avatar de Max França
    Max França

    Boa tarde, gostaria da sua ajuda, tipo se eu quiser fazer pesquisa separada, tipo um item especifico da minha tabela, como seria?

    1. Avatar de André
      André

      Quando você passar os valores para o back, no sql você coloca um WHERE nome_coluna LIKE ‘%valor_da_variavel’, mas é bom você sempre usar prepare statement para ninguém dar um SQL Injection.

  2. Avatar de Atlantec Peças e Assitência Té
    Atlantec Peças e Assitência Té

    Bom dia!! estou aprendendo à usar o JSON, tenho uma documentação API em RESTful e todas as respostas são em JSON, com requisições em Endpoint.
    Esta API é de uma loja de vendas de produtos, preciso importar esses produtos para minha loja, você tem videos ou curso para me ajudar a trabalhar com JSON (ou me indicar)… quero muito aprender fazer essas aplicações, consegui fazendo algumas coisas mas para o que eu preciso não chequei nem perto por falta de conhecimento a REST.

    1. Avatar de Portillo Rodrigo

      A base da API Rest é bem simples. Basicamente, quando você não passa parâmetros ela responde com um GET de listagem, mas quando você passa, ela executa uma ação.

      Por exemplo, digamos que você tenha a seguinte url:
      http://local.com/usuarios/
      Se você der um GET, você vai obter a listagem dos usuários
      http://local.com/usuarios/id/23
      Se você der um GET você vai obter os dados do usuário de cód. 23.
      http://local.com/usuarios/id/23
      Se você der um POST enviando {nome:”Fernando Costa”}. você vai trocar o campo nome do usuário 23.

  3. Avatar de Anne Graziely
    Anne Graziely

    Muito bom!

Deixe um comentário para Anne Graziely Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *