Ir para conteúdo

POWERED BY:

Arquivado

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

Zuber

[Resolvido] Busca em PHP

Recommended Posts

Bom tarde pessoal. Estou me batendo para criar um sistema de busca em PHP. Já tenho banco com dados e a conexão funciona.

 

O Problema é que quando vou na opção pesquisar ele imprime apenas isso:

 

Título Subtítulo Genero Subgenero Autor Sobrenome Editora Quantidade 

 

Se alguém conseguir solucionar o problema ... é muito bem vindo a ajuda.

 

<html>
<head>
	<title>Busca</title>
</head>
<body>
	<fieldset style="width: 1000px; height:540px;">
		<legend align="center">Pesquisa</legend>
			<form name="busca" id="busca" action="php_busca.php" method="GET">
				<table width="1000px" border="1" font="5pt"cellpadding="0" cellspacing="0" align="" id=""><br>
					<input type="text" id="busca" name="busca" value="" />
					<select id="busca" name="busca" value="">
						<option value="" id="titulo" name="titulo">Titulo</option>
						<option value="" id="genero" name="genero">Genero</option>
					</select>
					<input type="submit" name="busca" id="busca" value="Pesquisar" />
				</table>
			</form>
	</fieldset>
</body>
</html>

 

<?php

if (!empty($_GET['busca'])) {

include "conexao.php";	

$query = "select * from livro where titulo like '%".busca."%'";
		$sql = mysql_query($query) or die (mysql_error());
		$linhas=mysql_num_rows($sql);

			echo "<tr> 
					<th>Título</th>
					<th>Subtítulo</th>
					<th>Genero</th>
					<th>Subgenero</th>
					<th>Autor</th>
					<th>Sobrenome</th>
					<th>Editora</th>
					<th>Quantidade</th>
				</tr>";

			while($l = mysql_fetch_array($sql)) {
				$id       		= $l["id"];
				$titulo     	= $l["titulo"];
				$subtitulo     	= $l["subtitulo"];
				$genero 		= $l["genero"];
				$subgenero	   	= $l["subgenero"];
				$autor	     	= $l["autor"];
				$autor_sobrenome= $l["autor_sobrenome"];
				$editora	   	= $l["editora"];
				$quantidade	   	= $l["quantidade"];

				echo "<tr>";
				echo 	"<td>$titulo</td>";
				echo 	"<td>$subtitulo</td>";
				echo 	"<td>$genero</td>";
				echo 	"<td>$subgenero</td>";
				echo 	"<td>$autor</td>";
				echo 	"<td>$autor_sobrenome</td>";
				echo 	"<td>$editora</td>";
				echo 	"<td>$quantidade</td>";
				echo "</tr>";
			}
		}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então não encontrou nenhum resultado.

 

                        $sql = mysql_query($query) or die (mysql_error());
                       $linhas=mysql_num_rows($sql);
echo 'A busca retornou <strong>'.$linhas.'</strong> resultados';

 

veja qual numero aparece em negrito

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo!.

 

A busca retornou 0 resultados Título Subtítulo Genero Subgenero Autor Sobrenome Editora Quantidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto... entendeu ?

 

 

$busca = $_GET['busca'];
$query = "select * from livro where titulo like '%".busca."%'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

então não tem resultado uê..

se executar assim:

 

$busca = $_GET['busca'];
$query = "select * from livro ";

qntos resultados retornam ?

 

 

depois:

$query = "select * from livro where titulo like '%".busca."%'";
echo $query;

e analise a string retornada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$busca = $_GET['busca'];
$query = "select * from livro ";//qntos resultados retornam ?

-----> Voltou todos os resultados da minha tabela.

 

 

depois:

$query = "select * from livro where titulo like '%".busca."%'"; ---------> voltou 0 resultados.
echo $query;

e analise a string retornada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e oq voltou do echo que pedi ?

 

a tua busca não ta trazendo nada. Só isso. Faça outra busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$query = "select * from livro where titulo like '%".busca."%'";
echo $query;

 

A Segunda busca voltou:

 

select * from livro where titulo like '%busca%'A busca retornou 0 resultados Título Subtítulo Genero Subgenero Autor Sobrenome Editora Quantidade 

 

O que me parece é que não consigo passar o que digito no formulário HTML ao PHP, pois as informações que lá digito são verdadeiras, existem na tabela livro, no campo titulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim:

 

$query = "SELECT * FROM `livro` WHERE `titulo` LIKE '%{busca}%'";
echo $query, '<br />'

informe oq retornar do echo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retornou

 

SELECT * FROM `livro` WHERE `titulo` LIKE '%{busca}%'

A busca retornou 0 resultados Título Subtítulo Genero Subgenero Autor Sobrenome Editora Quantidade

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está colocando entre aspas simples ?

 

use aspas duplas conforme escrevi no meu post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver, claro com sua ajuda, o problema estava no formulário , mais precisamente no input="submit", que tinha um name="busca" que enviava esta informação para o PHP. Obrigrado

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.