Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17684
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Carregar vários valores com getJSON MySQL

26-08-2012 16:55

Essa dica que dou é para quem precisa por exemplo, retornar o resultado de várias consultas MySQL ao mesmo tempo em inputs diferentes.

Um exemplo, vamos supor que você tenha o nome joao

Com uma requisição getJSON, você carrega um arquivo com as duas consultas, e pode por exemplo pegar a idade do joão em uma tabela, e o que ele comprou em outra. Nesse caso a idade do joao vai para um input e o que ele comprou vai para outro.

A requisição fazemos assim

// NOME QUE VAI SER PASSADO POR GET var nome = "joao"; // PASSAMOS O NOME POR GET $nome $.getJSON("busca.php", {nome:nome}, function(json){ // AQUI #nome É O ID DO INPUT QUE VAI RECEBER A IDADE $("#idade").val(json[0].idade); // AQUI #produto É O ID DO INPUT QUE VAI RECEBER O PRODUTO $("#produto").val(json[1].produto); //Note que há json[0] e json[1], isso porque o 0 vai ser gerado na primeira consulta, o 1 na segunda. }); // FECHANDO O JSON

Agora o busca.php onde haverá as consultas

// DADOS DE CONEXÃO include("config.php"); // EXTRAINDO $nome do GET extract($_GET);

Agora na primeira consulta, o objetivo é pegar a idade. Normalmente, você usa dentro do while um echo para mostrar a idade: $idade.
Só que agora você faz assim

$Array[] = Array("idade" => "$idade");

Isso vai fazer com que essa linha
$("#idade").val(json[0].idade);

Pegue a idade, e jogue no input referente.

Note que usei o 0, porque é a primeira consulta.

Na segunda consulta, para pegar o produto, usamos o seguinte

$Array[] = Array("produto" => "$produto");

Referente a
$("#produto").val(json[1].produto);

No final do arquivo busca.php, fora dos whiles, você tem que colocar o seguinte

$json_encode = json_encode($Array); echo $json_encode;

Com isso, em uma única chamada você vai obter dados de duas consultas. Qualquer dúvida sobre o uso só postar.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado