chacalsp 0 Denunciar post Postado Novembro 18, 2004 PessoalTo precisando de uma grande ajuda, preciso criar uma consulta em PHP para consultar diversos tipos de informação em um banco de dados, como não sou programador e preciso desta informação resolvi solicitar a este fórum uma grande ajuda.Banco de Dados - MySQLEstrutura da Tabela - protocolo id_protocolo int(6) UNSIGNED ZEROFILL Não auto_increment nome varchar(50) Não tipo_documento varchar(80) Não numero_documento varchar(10) Sim NULL requisitante varchar(20) Não destino varchar(15) Não status varchar(15) Não historico text Não Preciso criar um formulário de consulta por Nome, Numero do Documento, Requisitante.O Script tem que receber os dados do formulário e consultar minha tabela e posteriormente imprimir para usuário o resultado da consulta... lembrando que antes da consulta ao digitar no formulário pode-se preeencher qualquer campo para pesquisa.OBS: Eu até consigo conectar com o Banco e fazer a pesquisa mas ele me retorna todos os registros.... eu só quero que pesquise de acordo com os dados enviados pelo formulário.Este eh o código<table width="100%" border="0" align="center"> <tr> <td width="13%"><strong><font color="#000000" face="Arial, Helvetica, sans-serif">Nome</font></strong></td> <td width="42%"><font color="#000000" face="Arial, Helvetica, sans-serif"><strong>N°Protocolo</strong></font></td> <td width="17%"><font color="#000000" face="Arial, Helvetica, sans-serif"><strong>N°Documento</strong></font></td> <td width="28%"><strong><font color="#000000" face="Arial, Helvetica, sans-serif">Data</font></strong></td> </tr> <?$conexao = mysql_connect("localhost","intra","intracdrh");$db = mysql_select_db("intranet"); $query = mysql_query("SELECT * FROM protocolo ORDER BY nome"); $linhas = mysql_num_rows($query); if($linhas == 0){ echo "Nada encontrado"; exit(); } else{ while($row = mysql_fetch_array($query)){ $nome = $row["nome"]; $id_protocolo = $row["id_protocolo"]; if($linhas %2 == 0){ $cor = "#F0F0F0"; } else{ $cor = "#E2EFFE"; } echo " <tr bgcolor=\"$cor\"> <td> $nome</td> <td> $id_protocolo</td> </tr>"; } }Help.... Compartilhar este post Link para o post Compartilhar em outros sites
Flávio Lago 0 Denunciar post Postado Novembro 18, 2004 chacalsp,você precisa enviar os dados do formulário e recebê-los no servidor via get ou post. Em seguida, montar a seleção dos registros com as condições recebidas (dados do formulário).exemplo simples:1- dados do formulário (complete o trecho do seu código html):<td width="13%"><strong><font color="#000000" face="Arial, Helvetica, sans-serif">Nome</font></strong> <input type="text" name="nome"></td><td width="42%"><font color="#000000" face="Arial, Helvetica, sans-serif"><strong>N°Protocolo</strong></font><input type="text" name="numero_protocolo"></td><td width="17%"><font color="#000000" face="Arial, Helvetica, sans-serif"><strong>N°Documento</strong></font><input type="text" name="numero_documento"></td>2- receber os dados do formulário no servidor (antes de "$query =" do seu código):....$nome= $_REQUEST['nome'];$numero_protocolo= $_REQUEST['numero_protocolo'];$numero_documento= $_REQUEST['numero_documento'];$sql= 'SELECT * FROM protocolo';$aux= '';$where= ' WHERE ';if ( $nome != '' ){$sql .= $aux . $where . ' NOME = ' . $nome;$aux= ' OR ';$where= '';}if ( $numero_protocolo != '' ){$sql .= $aux . $where . ' REQUISITANTE = ' . $numero_protocolo;$aux= ' OR ';$where= '';}if ( $numero_documento != '' ){$sql .= $where . ' NUMERO_DOCUMENTO = ' . $numero_documento;$aux= ' OR ';$where= '';}$sql .= 'ORDER BY nome';3- substitua sua variável $query (o seu comando select será):$query = mysql_query( $sql );4- segue seu código originalEspero ter contribuído. Compartilhar este post Link para o post Compartilhar em outros sites