Função filtrarProduto e filtrarprodutos

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:
<?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

Felipe

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar