Golfetto 0 Denunciar post Postado Outubro 31, 2014 Olá meus amigos. Estou com uma duvida dentro desse assunto. Eu preciso coler a informação a informação do banco for passada pelo GET id dentro da minha pagina, porém não tenho ideia de como fazer, será que alguém pode ajudar? A estrutura da URL deve ser a seguinte: http://www.meusite.com.br/filtro.php?method=filtrarProduto&codigo=1&callback=? É essa a estrutura.. Desde ja agradeço a ajuda de vocês. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 31, 2014 Não sei se entendi direito. $_GET['callback'] retorna o valor do parâmetro callback da URL. Se não for isso, explique melhor o que precisa Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Outubro 31, 2014 Peços desculpas por não explicar direito, iniciei a pouco tempo com o PHP. Atraves da URL que irei passar a seguir, é possivel observar que só está sendo exibida as informaçoes relacionadas ao ID passado pela URL, é exatamente isso que quero montar, preciso fazer a pagina recuperar as informações relacionadas atraves do link que irei passar que fica parecido com esse: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=filtrarProduto&codigo=1&callback=? Observe que esta sendo filtrado o código 1 que é o ID do produto. Conseguiu entender? Sei que é possivel, mas n sei como ser feito. Por isso estou aqui pedindo ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 31, 2014 Essa técnica de passar parâmetros pelo URL chama-se Query String. Leia mais sobre isso, que entenderá como funciona. Em poucas palavras, você sempre usará $_GET['nome_do_parametro']. Outra técnica semelhante, mais avançada e profissional, são as URLs Amigáveis (URL Rewriting), que deixa as URLs neste padrão: dominio.com.br/param1/valor1/param2/valor2. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Outubro 31, 2014 Sim, eu conheço essa técnica. Eu uso em meus sites. Eu queria uma ideia para recuperar arquivos em uma PÁGINA específica quando o ID for passado pela URL que informei no outro post. Mesmo assim agradeço a sua ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Outubro 31, 2014 Você vai passar o ID pela URL e quer buscar informações na base de dados? Explique exatamente onde tem dificuldades. Acho que ainda não entendi. :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Outubro 31, 2014 se entendi bem, se estiver usando bancos de dados pesquise sobre "where".umas dicas legais:http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspxhttp://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspxse não for isso, foi mal.. Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Outubro 31, 2014 Você vai passar o ID pela URL e quer buscar informações na base de dados? Explique exatamente onde tem dificuldades. Acho que ainda não entendi. :unsure: Exatamente, eu vou passar o ID pela URL, a estrutura da URL será a seguinte: http://www.meusite.com.br/pagina.php?method=filtrarProduto&codigo=ID&callback=? A página vai recuperar o ID passado e em seguida joga na tela as informações passadas pelo banco de dados referentes aquele ID. Essa consulta eu irei fazer em uma tabela de produtos e quero que seja exibido apenas o produto referente a esse ID. Só que a URL precisa ser passada nessa estrutura que informei aí em cima. Veja um exemplo dessa consulta através do LINK: http://www.imediabrasil.com.br/cursojquerymobile/kwai_produtos.cfc?method=filtrarProduto&codigo=1&callback=? É exatamente isso que preciso, só que não sei como fazer a recuperação. Desculpe se não estou sendo claro.. Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 1, 2014 É isso? function filtrarProduto($param) { $stmt = $bd->prepare('SELECT * FROM produto WHERE id=?'); $stmt->execute(array($param)); return $stmt->fetch(); } $param = $_GET['codigo']; $func = $_GET['method']; echo json_encode($func($param)); Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 1, 2014 Vlw meu amigo, ajudou bastante. Deu certo. Vlw galera.. Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 1, 2014 É isso? function filtrarProduto($param) { $stmt = $bd->prepare('SELECT * FROM produto WHERE id=?'); $stmt->execute(array($param)); return $stmt->fetch(); } $param = $_GET['codigo']; $func = $_GET['method']; echo json_encode($func($param)); Consegui fazer a listagem utilizando a função que você passou, porém, só consegui fazer a função em outro arquivo.php, será que vc poderia me ajudar com a função para listar e filtrar os produtos dentro da mesma página? Como mostra os 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=1&callback=? Observe que está tudo na mesma página, porém muda a partir do ?method... Poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 3, 2014 Nessa outra pagina, existe uma função chamada getProdutosListagem? Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 3, 2014 Nessa outra pagina, existe uma função chamada getProdutosListagem? Não existe essa função não. Nesse exemplo aí eu não sei como ele tá usando não, eu só sei que preciso seguir o mesmo modelo. Pelo o que entendi eu preciso ter as duas funções na mesma página, que serão ativas com a alteração da URL. Certo? Eu consegui listar os arquivos de outra forma e deu certo, porém, quando clico para exibir os detalhes não funciona, porém, eu estou fazendo a listagem em uma página e o filtro em outra página, pelo o que entendi é isso, eu preciso fazer as duas funções na mesma página e fazer elas funcionarem apenas quando eu passar o method. Porém, não sei como fazer isso, não tenho nem ideia. Esse exemplo que passei pra vc eu não tenho acesso ao código. Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 3, 2014 Vou explicar ai você tenta novamente ai: // Função que será chamada function filtrarProduto($param) { $stmt = $bd->prepare('SELECT * FROM produto WHERE id=?'); $stmt->execute(array($param)); return $stmt->fetch(); } // Aqui fica os parametros que serão enviados para função $param = $_GET['codigo']; // Aqui é o nome da função aqui será chamada, no caso é filtrarProduto $func = $_GET['method']; // Aqui chamamos a função pelo nome passado na URL, ou seja, se recebermos // no $_GET['method'] a função deletarUsuario, deve existir uma função deletarUsuario() // que será chamado pelo PHP. Lembre-se de filtrar as possibilidades para que o usuário // não chame funções maliciosas $result = $func($param); // Aqui pegamos o retorno da função chamada e exibimos ela como JSON echo json_encode($result); Se tiver alguma duvida só avisar Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 3, 2014 Vou explicar ai você tenta novamente ai: // Função que será chamada function filtrarProduto($param) { $stmt = $bd->prepare('SELECT * FROM produto WHERE id=?'); $stmt->execute(array($param)); return $stmt->fetch(); } // Aqui fica os parametros que serão enviados para função $param = $_GET['codigo']; // Aqui é o nome da função aqui será chamada, no caso é filtrarProduto $func = $_GET['method']; // Aqui chamamos a função pelo nome passado na URL, ou seja, se recebermos // no $_GET['method'] a função deletarUsuario, deve existir uma função deletarUsuario() // que será chamado pelo PHP. Lembre-se de filtrar as possibilidades para que o usuário // não chame funções maliciosas $result = $func($param); // Aqui pegamos o retorno da função chamada e exibimos ela como JSON echo json_encode($result); Se tiver alguma duvida só avisar Da outra vez que você passou esta função eu consegui fazer ela funcionar sem nenhuma dúvida, veja no link: http://varandasgastronomia.com.br/app_teste/jsonx.php?method=filtrarProduto&codigo=21&callback=? Em outra página eu consegui fazer a listagem de todos os produtos que tenho no banco só que de uma outra forma, não utilizei uma função. Por isso não tá dando certo. Eu preciso criar duas funções no mesmo arquivo, uma função chamada getProdutosListagem e outra (que é essa que vc passou) chamada filtrarProduto, eu preciso fazer essas duas funções funcionarem no mesmo arquivo, quando eu passar na URL o valor ?method=getProdutosListagem&callback=listarProdutos ela exibe todos os produtos, quando eu passar o valor: ?method=filtrarProduto&codigo=1&callback=? ela vai exibir apenas o valor passado pelo ID. Entende? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 3, 2014 Entendi, eu acho... Você só precisa então colocar essas funções no mesmo arquivo ou em um arquivo separado e usar include. Se fizer isso vai funcionar perfeitamente pra quantas funções forem necessárias. LEMBRE-SE DE FILTAR USANDO UM IF OU UM SWITCH AS FUNÇÕES QUE PODEM SER CHAMADAS PELO USUÁRIO. Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 3, 2014 Entendi, eu acho... Você só precisa então colocar essas funções no mesmo arquivo ou em um arquivo separado e usar include. Se fizer isso vai funcionar perfeitamente pra quantas funções forem necessárias. LEMBRE-SE DE FILTAR USANDO UM IF OU UM SWITCH AS FUNÇÕES QUE PODEM SER CHAMADAS PELO USUÁRIO. Sim, eu entendi, já tentei fazer isso e não deu certo. Eu não tô conseguindo criar uma função para fazer a listagem, eu tô fazendo da seguinte forma: // 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); Não tem um getProdutosListagem aí, ela tá só puxando do banco. Por isso eu preciso criar essa função e colocar as duas juntas. E fazer o que vc falou no final, um IF para separar elas. Entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 3, 2014 acho que é isso que vc quer: // 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'); if ($_GET['method'] == 'getProdutosListagem') { //$resultados = Consulta de produtos } else if ($_GET['method'] == 'filtrarProduto') { //$resultados = Consulta com filtros } // criar objeto $retorno = array(); while ($row = mysql_fetch_object($resultados)) { $retorno[] = $row;} // saida echo ($callback ? $callback . '(' : '') . json_encode($retorno) . ($callback ? ')' : ''); mysql_close($con); Compartilhar este post Link para o post Compartilhar em outros sites
Golfetto 0 Denunciar post Postado Novembro 3, 2014 acho que é isso que você quer: // 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'); if ($_GET['method'] == 'getProdutosListagem') { //$resultados = Consulta de produtos } else if ($_GET['method'] == 'filtrarProduto') { //$resultados = Consulta com filtros } // criar objeto $retorno = array(); while ($row = mysql_fetch_object($resultados)) { $retorno[] = $row;} // saida echo ($callback ? $callback . '(' : '') . json_encode($retorno) . ($callback ? ')' : ''); mysql_close($con); Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 3, 2014 não entendi o que tem isso Compartilhar este post Link para o post Compartilhar em outros sites