Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 18
Sexo: Masculino

problema com sript de busca em PHP

12-01-2012 10:45

Ola, sou nova por aqui e estou elaborando um site em php. Meu problema está nas buscas. Onde quando eu digito algo na caixa de pesquisa a busca retorna TODOS os valores inseridos na tabela.


minha tabela é dado
suas colunas sao: id_estado, id_local, descricao, ano, id_tipo_dado, arquivo, id_dado

Enviarei meu codigo:

<table class="estilotabela"> <tr><td colspan=2 class="estilocelulatitulo">Pesquisa recurso</td></tr> <form method="POST"action=<?php echo $_SERVER["PHP_SELF"] . "?dir=" . $_GET["dir"] . "&" . "pagina=" . $_GET["pagina"];?> name="opa"> <tr><td class="estilocelulaesquerda">Buscar:</td> <td class="estilocelulaesquerda"><input type="text" name="busca"></td> </tr> <tr> <td class="estilocelulaesquerda">Ordenar por:</td> <td class="estilocelulaesquerda"> <select name="ordenapor"> <option value="id_estado"<Estado</option> <option value="id_local">Local</option> <option value="id_tipo_dado">Tipo de dado</option> <option value="ano">Ano</option> </select> </td> </tr> <tr><td colspan=2 class="estilocelula"><input type="submit" value="Enviar" name="bot"></td></tr> </table> </form> <br> <?php $result = mysql_query("SELECT * FROM dado ORDER BY id_tipo_dado"); if (isset ($_POST["bot"])) { $result = mysql_query("SELECT * FROM `dado' "%' ORDER BY " . $_POST["ordenapor"]); $sql = "SELECT * FROM `dado`" like '%" . $_POST["busca"] . "%'"; while ($row = mysql_fetch_array($result)) { $sql = $sql . "AND (id_recurso != " . $row['id_recurso'] . ")"; } $sql = $sql . "ORDER BY " . $_POST["ordenapor"]; $result = mysql_query($sql) ?> <table class="estilotabela"> <tr> <td class="estilocelulatitulo">Estado</td> <td class="estilocelulatitulo">Tipo de dado</td> <td class="estilocelulatitulo">Descrição</td> <td class="estilocelulatitlo">Ano</td> <td class="estilocelulatitlo">Download </td> </tr> <?php echo "<form method='POST'action=" . $_SERVER['PHP_SELF'] . "?dir=" . $_GET["dir"] . "&" . "pagina=" . $_GET["pagina"] . " name='opa'>"; while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td class=estilocelula width=100px>" . $row["id_estado"] . "</td>"; echo "<td class=estilocelula>" . $row["id_tipo_dado"] . "</td>"; echo "<td class=estilocelula width=100px>" . substr($row["descricao"] . "</td>"; echo "<td class=estilocelula width=100px>" . substr($row["ano"]. "</td>"; echo "<td class=estilocelula width=100px>" . substr($row["arquivo"] . "</td>"; echo "</tr>"; } echo "</form> "; ?> </table>

Obrigada ;)

MOVIDO PARA MYSQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17670
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

problema com sript de busca em PHP

12-01-2012 11:04

Tem alguns erros ai, por exemplo, você tem várias querys. Essa antes do if não seria necessária.

Agora nessas

$result = mysql_query("SELECT * FROM `dado' "%' ORDER BY " . $_POST["ordenapor"]);

$sql = "SELECT * FROM `dado`" like '%" . $_POST["busca"] . "%'";

Deveria ser uma só, por exemplo

$result = mysql_query("SELECT * FROM dado WHERE colunatal LIKE '%". $_POST["busca"] ."%' ORDER BY ".$_POST["busca"]." ");

Ai você tem que verificar ai os nomes das colunas que vai usar.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 18
Sexo: Masculino

problema com sript de busca em PHP

12-01-2012 11:25

Obrigada pela ajuda, mas assim que fiz a modificaçao ocorreu um erro no meu while do fim do fim do script (notice: undefined variable e warning: mysql_fetch_array() expects parameter 1 to be resource null given in..)

O que há de errado?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17670
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

problema com sript de busca em PHP

12-01-2012 12:43

Você usa 2 whiles com a mesma query. Tem que criar uma segunda query para o segundo while.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 18
Sexo: Masculino

problema com sript de busca em PHP

20-01-2012 11:06

Obrigada, vou tentar novamente!
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado