Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pvanessa

Busca interna detalhada

Recommended Posts

Olá, alguém teria um exemplo de busca detalhada usando LIST/MENU.Tenho um banco de dados com título, autor, genero e preciso fazer a pesquisa de acordo com o que a pessoa escolheu.Mas, não consigo de jeito nenhum vincular o TEXTFIELD ao LIST/MENUMe ajudem, por favor.Desde já gradeço,Paula

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar um exemplo...

 

Vamos pegar essa sua estrutura

 

<form name="form1" method="post" action="">  Busca por:   <select name="campo" id="campo">	<option value="titulo">Titulo</option>	<option value="autor">Autor</option>	<option value="genero">Genero</option>  </select>   contendo:   <input name="conteudo" type="text" id="conteudo">  <input type="submit" name="Submit" value="Buscar"></form><?php	$campo = $_POST[campo];	$conteudo = $_POST[conteudo];		$sql = "SELECT * FROM tabela WHERE $campo LIKE '%$conteudo%'";		$query = mysql_query($sql);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funciona, ele só faz a busca pelo título, olha como está o meu script:<?php require_once('../Connections/busca.php'); ?><?php$opcao = $_GET['opcao'];$search = $_GET['chave'];$currentPage = $_SERVER["PHP_SELF"];$maxRows_Recordset1 = 2;$pageNum_Recordset1 = 0;if($opcao == "titulo")if (isset($_GET['pageNum_Recordset1'])) { $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];}$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;$search_Recordset1 = "*.*";if (isset($_GET['search'])) { $search_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['search'] : addslashes($_GET['search']);}mysql_select_db($database_busca, $busca);$query_Recordset1 = sprintf("SELECT * FROM livros WHERE livros.titulo LIKE '%%%s%%'", $search_Recordset1);$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);$Recordset1 = mysql_query($query_limit_Recordset1, $busca) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);if (isset($_GET['totalRows_Recordset1'])) { $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];} else { $all_Recordset1 = mysql_query($query_Recordset1); $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);}$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;$queryString_Recordset1 = "";if (!empty($_SERVER['QUERY_STRING'])) { $params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) { if (stristr($param, "pageNum_Recordset1") == false && stristr($param, "totalRows_Recordset1") == false) { array_push($newParams, $param); } } if (count($newParams) != 0) { $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams)); }}$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Busca</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"><!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; margin-top: 5px; margin-right: 5px; margin-bottom: 5px; margin-left: 5px;}.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }--></style></head><body><p class="style1">Foram encontrados <?php echo $totalRows_Recordset1 ?> registros </p><?php if ($totalRows_Recordset1 > 0) { // Show if recordset not empty ?><table border="0" class="style1"> <?php do { ?> <tr> <td width="124" rowspan="7"><span class="style4"><?php echo $row_Recordset1['imagem']; ?></span></td> <td width="490"><span class="style4"><?php echo $row_Recordset1['titulo']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['autor']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['genero']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['paginas']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['formato']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['isbn']; ?></span></td> </tr> <tr> <td><span class="style4"><?php echo $row_Recordset1['valor']; ?></span></td> </tr> <tr> <td nowrap> </td> <td nowrap> </td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></table><?php } // Show if recordset not empty ?><p class="style4"> <span class="style4"><?php if ($totalRows_Recordset1 > 2) { // Show if recordset not empty ?> <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>" title="primeira página"><<</a> <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>" title="página anterior"><</a> <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>" title="próxima página">></a> <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>" title="última página">>></a> <?php } // Show if recordset not empty ?>Registros <?php echo ($startRow_Recordset1 + 1) ?> e <?php echo min($startRow_Recordset1 + $maxRows_Recordset1, $totalRows_Recordset1) ?> de <?php echo $totalRows_Recordset1 ?></span><p class="style4"></body></html><?phpmysql_free_result($Recordset1);?>

Vou postar um exemplo...Vamos pegar essa sua estrutura

<form name="form1" method="post" action="">  Busca por:   <select name="campo" id="campo">	<option value="titulo">Titulo</option>	<option value="autor">Autor</option>	<option value="genero">Genero</option>  </select>   contendo:   <input name="conteudo" type="text" id="conteudo">  <input type="submit" name="Submit" value="Buscar"></form><?php	$campo = $_POST[campo];	$conteudo = $_POST[conteudo];		$sql = "SELECT * FROM tabela WHERE $campo LIKE '%$conteudo%'";		$query = mysql_query($sql);?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.