Fórum Função filtrarProduto e filtrarprodutos #499902
01/11/2014
0
Pessoal, boa tarde.
Estou trabalhando em um projeto de Jquery Mobile e estou com uma duvida, resolvi buscar ajuda a quem entende do assunto.
Vamos lá, estou minha dificuldade é em criar uma função dentro de uma pasta do meu servidor, aonde irei listar todos os dados da tabela PRODUTOS e em seguida estarei dando um echo json_encode para transformar os arquivos em JSON.
Dentro desse arquivo eu preciso criar duas funções, uma para listar os produtos e outra para ler os produtos quando for passado o ID daquele produto.
Exemplos:
Listar Produtos: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=getProdutosListagem&callback=listarProdutos
Filtrar produtos: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=filtrarProduto&codigo=2&callback=?
Observem que as duas funções estão em uma mesma página e que as funções possuem uma estrutura.
Eu já consegui fazer isso, porém, em uma página estou fazendo a listagem e em outro estou fazendo o filtro, um em cada página.
Veja exemplos:
Listar Produtos: http://www.varandasgastronomia.com.br/app_teste/json.php?method=getProdutosListagem&callback=listarProdutos
Filtrar Produtos: http://www.varandasgastronomia.com.br/app_teste/jsonx.php?method=filtrarProduto&codigo=21&callback=?
Porém não está dando certo, creio que é pelo fato de eu não ter feito as funções na mesma página.
Em seguida estou fazendo a chamada com JS.
Deu pra entender a minha dúvida?
Meus códigos:
Listar produtos:
Filtrar produtos:
NA INDEX EU FAÇO A CHAMADA DO SCRIPT PARA LER OS PRODUTOS LISTADOS.
NO MEU JS EU FAÇO A LEITURA PASSADA PELO SCRIPT E EM SEGUIDA FAÇO A LEITURA DOS DETALHES AONDE EU PASSO OUTRO GETJSON:
SERÁ QUE ALGUÉM PODERIA ME AJUDAR?
ESTOU A UM TEMPO TENTANDO RESOLVER ESTA QUESTÃO E NÃO CONSEGUI.
DESDE JÁ AGRADEÇO A AJUDA DE TODOS.
Estou trabalhando em um projeto de Jquery Mobile e estou com uma duvida, resolvi buscar ajuda a quem entende do assunto.
Vamos lá, estou minha dificuldade é em criar uma função dentro de uma pasta do meu servidor, aonde irei listar todos os dados da tabela PRODUTOS e em seguida estarei dando um echo json_encode para transformar os arquivos em JSON.
Dentro desse arquivo eu preciso criar duas funções, uma para listar os produtos e outra para ler os produtos quando for passado o ID daquele produto.
Exemplos:
Listar Produtos: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=getProdutosListagem&callback=listarProdutos
Filtrar produtos: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=filtrarProduto&codigo=2&callback=?
Observem que as duas funções estão em uma mesma página e que as funções possuem uma estrutura.
Eu já consegui fazer isso, porém, em uma página estou fazendo a listagem e em outro estou fazendo o filtro, um em cada página.
Veja exemplos:
Listar Produtos: http://www.varandasgastronomia.com.br/app_teste/json.php?method=getProdutosListagem&callback=listarProdutos
Filtrar Produtos: http://www.varandasgastronomia.com.br/app_teste/jsonx.php?method=filtrarProduto&codigo=21&callback=?
Porém não está dando certo, creio que é pelo fato de eu não ter feito as funções na mesma página.
Em seguida estou fazendo a chamada com JS.
Deu pra entender a minha dúvida?
Meus códigos:
Listar produtos:
<?php
// parametros iniciais
$callback = isset($_GET['callback']) ? preg_replace('/[^a-zA-Z0-9$_]/s', '', $_GET['callback']) : false;
header('Content-Type: ' . ($callback ? 'application/javascript' : 'application/json') . ';charset=UTF-8');
header('Access-Control-Allow-Origin: *');
// conexar com banco
$con = mysql_connect('localhost','gastrono_painel','master#01');mysql_select_db('gastrono_painel');
// criar consulta
$produtos = mysql_query("SELECT id_servico, foto_servico, titulo_servico, conteudo_servico FROM servicos");
// criar objeto
$retorno = array();
while ($row = mysql_fetch_object($produtos)) {
$retorno[] = $row;}
// saida
echo ($callback ? $callback . '(' : '') . json_encode($retorno) . ($callback ? ')' : '');
mysql_close($con);
?>
Filtrar produtos:
<?php
include_once "../config.php";
function filtrarProduto($param) {
$stmt = BD::conn()->prepare('SELECT * FROM `servicos` WHERE id_servico = ?');
$stmt->execute(array($param));
return $stmt->fetch();
}
$param = $_GET['codigo'];
$func = $_GET['method'];
echo "[";
echo json_encode($func($param));
echo "]";
?>
NA INDEX EU FAÇO A CHAMADA DO SCRIPT PARA LER OS PRODUTOS LISTADOS.
<!-- LISTA DE PRODUTOS --> <script src="http://www.varandasgastronomia.com.br/app_teste/json.php?method=getProdutosListagem&callback=listarProdutos" type="text/javascript"></script>
NO MEU JS EU FAÇO A LEITURA PASSADA PELO SCRIPT E EM SEGUIDA FAÇO A LEITURA DOS DETALHES AONDE EU PASSO OUTRO GETJSON:
//Efetuando a listagem do produto
function listarProdutos(data) {
var anterior="";
var resposta="";
resposta += '<ul data-role="listview" class="ui-icon-alt" data-filter="true" data-filter-placeholder="Filtrar dados...">'
$.each( data, function( chave, valor) {
if ( anterior != valor.titulo_servico ) {
resposta += '<li data-role="list-divider" data-theme="d">' + valor.titulo_servico + '</li>'
}
anterior = valor.titulo_servico;
resposta += '<li>';
resposta += '<a href="#detalhe" onclick="mostrarDetalhe(' + valor.id_servico + ')">';
resposta += '<img src="http://varandasgastronomia.com.br/upload/images/' + valor.foto_servico + '"/>';
resposta += '<h3>' + valor.titulo_servico + '</h3>';
resposta += '<p>' + valor.conteudo_servico + '</p>';
resposta += '</a>';
resposta += '</li>';
});
resposta += '</ul>'
$('#minhalista').html(resposta);
}
//Mostrando detalhe de produto por produto
function mostrarDetalhe(id) {
$('#detalhe_produto').empty();
$.getJSON('http://www.varandasgastronomia.com.br/app_teste/jsonx.php?method=filtrarProduto&codigo=20&callback=?',
function(data) {
var saida='';
saida += '<img src="http://varandasgastronomia.com.br/upload/images/' + data[0].foto_servico + '" class="imagemdetalhe">';
saida += '<h2>' + data[0].titulo_servico + '</h2>';
saida += '<p>' + data[0].conteudo_servico + '</p>'
$('#detalhe_produto').html(saida);
});
}
SERÁ QUE ALGUÉM PODERIA ME AJUDAR?
ESTOU A UM TEMPO TENTANDO RESOLVER ESTA QUESTÃO E NÃO CONSEGUI.
DESDE JÁ AGRADEÇO A AJUDA DE TODOS.
Felipe
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)