Zuber 0 Denunciar post Postado Agosto 19, 2011 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
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 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
Zuber 0 Denunciar post Postado Agosto 19, 2011 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
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 pronto... entendeu ? $busca = $_GET['busca']; $query = "select * from livro where titulo like '%".busca."%'"; Compartilhar este post Link para o post Compartilhar em outros sites
Zuber 0 Denunciar post Postado Agosto 19, 2011 Eu adicionei a variavel -> $busca = $_GET['busca']; mas mesmo assim continua mostrando "0" resultados Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 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
Zuber 0 Denunciar post Postado Agosto 19, 2011 $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
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 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
Zuber 0 Denunciar post Postado Agosto 19, 2011 $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
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 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
Zuber 0 Denunciar post Postado Agosto 19, 2011 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
William Bruno 1501 Denunciar post Postado Agosto 19, 2011 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
Zuber 0 Denunciar post Postado Agosto 19, 2011 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