jailtonB 0 Denunciar post Postado Fevereiro 27, 2012 Olá pessoal, comercei agora em PHP e tenho um problema a resolver. Gostaria de fazer uma consulta a uma tabela mysql, onde escolho os campos que quero visualizar. Tabela: Funcionarios campos: Matricula nome supervisor departamento data admisao Quero consultar selecionando os campos em uma combobox ou radiobuton, a matricula, nome e data admissao. Daí busca apenas aqueles campos citados no banco mysql. Não tenho uma ideia clara de fazer isso em php e puxar do banco. Se alguem tiver algum script parecido ou material falando deste tipo de sonsulta. Desde já agradeço. :) Compartilhar este post Link para o post Compartilhar em outros sites
viniciusjau 2 Denunciar post Postado Fevereiro 27, 2012 Vamos por partes... Primeiro passo crie um arquivo de conexão com seu banco de dados. Segundo crie uma consulta e faça ela exibir os dados Terceiro você faz os filtros necessários... Vou te passar um exemplo de conexão com o banco de dados , coloque os seus dados e tente se conectar: <?php $host = "localhost"; $user = "root"; $pass = ""; $db = "banco"; $a = @mysql_connect($host, $user, $pass) or die(mysql_error()); @mysql_select_db($db, $a) or die("Erro ao conectar com o Banco de Dados"); ?> Vamos por partes... Primeiro passo crie um arquivo de conexão com seu banco de dados. Segundo crie uma consulta e faça ela exibir os dados Terceiro você faz os filtros necessários... Vou te passar um exemplo de conexão com o banco de dados , coloque os seus dados e tente se conectar: <?php $host = "localhost"; $user = "root"; $pass = ""; $db = "banco"; $a = @mysql_connect($host, $user, $pass) or die(mysql_error()); @mysql_select_db($db, $a) or die("Erro ao conectar com o Banco de Dados"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
jailtonB 0 Denunciar post Postado Fevereiro 27, 2012 Ok... Parceiro é isso mesmo, já esta conectando com o banco e inserindo os dados, o que me falta é a lógica da consulta com filtros dos campos que preciso. Compartilhar este post Link para o post Compartilhar em outros sites
André Marcondes 3 Denunciar post Postado Fevereiro 27, 2012 Olá Jailton B; Bom, primeiro você precisa fazer o seu filtro em html com os checkbox e etc, tomando atenção que cada elemento do formulario terá o seu campo name preenchido, que é o que faz com que o campo possa ser referenciado pelo php ao enviar o formulario. A lógica pode ser feita assim: A query tem de ser construída dinamicamente, ou seja, ela vai mudar de acordo com o que o usuário selecionou. Por exemplo: Digamos que o usuário selecionou os campos nome e endereço, então a query vai ser assim: "SELECT nome, endereço FROM tabela" Ja, se ele selecionou apenas o nome, a query vai ser: "SELECT nome FROM tabela" pra fazer isso, você pode usar o comando isset do php: $sql = 'SELECT '; $arrayCampos = array(); if(isset($_POST['nome']){ $arrayCampos[] = 'nome'; } if(isset($_POST['endereco']){ $arrayCampos[] = 'endereco'; } // e assim sucessivamente // agora, coloco os campos selecionados no select da query $sql .= implode(',',$arrayCampos); // e por fim, termino a query $sql .= ' FROM tabela WHERE bla bla bla...'; // e só então rodo a consulta $res = mysql_query($sql); Ops.. corrigindo, pra ficar mais claro Cada elemento input, select, textarea, etc, do formulario, tem que ter o seu atributo "name" preenchido para que o php possa manipular o dado enviado. Ex: <form name="filtro" id="filtro" action="script.php" method="post"> <input type="text" name="endereco" id="endereco" /> </form> Compartilhar este post Link para o post Compartilhar em outros sites
jailtonB 0 Denunciar post Postado Fevereiro 28, 2012 Olá Jailton B; Bom, primeiro você precisa fazer o seu filtro em html com os checkbox e etc, tomando atenção que cada elemento do formulario terá o seu campo name preenchido, que é o que faz com que o campo possa ser referenciado pelo php ao enviar o formulario. A lógica pode ser feita assim: A query tem de ser construída dinamicamente, ou seja, ela vai mudar de acordo com o que o usuário selecionou. Por exemplo: Digamos que o usuário selecionou os campos nome e endereço, então a query vai ser assim: "SELECT nome, endereço FROM tabela" Ja, se ele selecionou apenas o nome, a query vai ser: "SELECT nome FROM tabela" pra fazer isso, você pode usar o comando isset do php: $sql = 'SELECT '; $arrayCampos = array(); if(isset($_POST['nome']){ $arrayCampos[] = 'nome'; } if(isset($_POST['endereco']){ $arrayCampos[] = 'endereco'; } // e assim sucessivamente // agora, coloco os campos selecionados no select da query $sql .= implode(',',$arrayCampos); // e por fim, termino a query $sql .= ' FROM tabela WHERE bla bla bla...'; // e só então rodo a consulta $res = mysql_query($sql); Ops.. corrigindo, pra ficar mais claro Cada elemento input, select, textarea, etc, do formulario, tem que ter o seu atributo "name" preenchido para que o php possa manipular o dado enviado. Ex: <form name="filtro" id="filtro" action="script.php" method="post"> <input type="text" name="endereco" id="endereco" /> </form> ----------------------------------------------------------- André Marcondes Achei muito interessante esse modo de fazer cara, mas desculpa minha falta de conhecimento como eu preencheria corretamente esses codigos chamando a varia nome e endereco... // agora, coloco os campos selecionados no select da query $sql .= implode(',',$arrayCampos); // e por fim, termino a query $sql .= ' FROM tabela WHERE bla bla bla...'; Se você pudesse terminar esse codigo, completinho de como ficaria, daí eu faria em todos os dados aui das minhas tabelas... Desde já agradeço sua ajuda, vlww Compartilhar este post Link para o post Compartilhar em outros sites