I'm trying to connect to bd via php and returning a json to my javascript, but there's something I'm forgetting or doing wrong, since I've tried doing it in many ways but it never returns the value of the an error in some "trycatch" in the middle.
These files are all on the same server.
If you'd like to see the code running:
My Code:
/**
* Capturar itens do banco de dados
*/
function carregarItens(){
//variáveis
var itens = "", url = "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");
}
}
});
}
<!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>
<?php
/**
* Tutorial jSON
*/
//Definir formato de arquivo
header('Content-Type:' . "text/plain");
$username = ''; //
$password = '';
$hostname = ''; //
$database = '';
//$porta = '' //
$con = mysql_connect($hostname, $username, $password)
or die("Não é possível conectar ao MySQL");
$selected = mysql_select_db($database,$con)
or die("Não foi possível conectar ao banco de dados");
//@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);
}
}
?>