Dúvidas sobre MySQL, PHPMyAdmin, SQL e assuntos relacionado a banco de dados.
Moderador: web
por jujuba Offline » Qui Jan 12, 2012 10:45 am
|
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:
- Código: Selecionar todos
<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

jujuba
MEMBRO
Mensagens: 15
Registrado em: Qui Jan 12, 2012 10:27 am
|
por web Offline » Qui Jan 12, 2012 11:04 am
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.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12460
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por jujuba Offline » Qui Jan 12, 2012 11:25 am
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?

jujuba
MEMBRO
Mensagens: 15
Registrado em: Qui Jan 12, 2012 10:27 am
|
por web Offline » Qui Jan 12, 2012 12:43 pm
Você usa 2 whiles com a mesma query. Tem que criar uma segunda query para o segundo while.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12460
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por jujuba Offline » Sex Jan 20, 2012 11:06 am
Obrigada, vou tentar novamente!

jujuba
MEMBRO
Mensagens: 15
Registrado em: Qui Jan 12, 2012 10:27 am
|
Voltar para MySQL
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes
|
|
|