Ir para conteúdo

POWERED BY:

Arquivado

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

Guilherme91

Como fazer uma pagina de busca

Recommended Posts

E ai galera...

 

COmo faço para fazer uma pagina de busca.

Tipo meu exibir aparece todos os dados cadastrados...

 

Mas como faço para pegar so pelo nome e puxar todos os dados dele?

Alguem tem ai um script?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criei esse aqui que valida mas não consigo buscar:

<?php
// Recuperamos a ação enviada pelo formulário
$a = $_GET['a'];

// Verificamos se a ação é de busca
if ($a == "buscar") {

// Pegamos a palavra
$palavra = $_POST['palavra'];

// Verificamos no banco de dados produtos equivalente a palavra digitada
$sql = mysql_query("SELECT * FROM cadastro WHERE nome_func LIKE '%".$palavra."%' ORDER BY nome_func");

// Descobrimos o total de registros encontrados
$numRegistros = mysql_num_rows($sql);

// Se houver pelo menos um registro, exibe-o
if ($numRegistros != 0) {
// Exibe os produtos e seus respectivos preços
while ($x = mysql_fetch_array($sql)) {
echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#9c9c9c">
<!--tr>
<td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#CD5C5C" size="1" face="verdana">...:::::Exibindo::::......</font> </strong></td>
</tr-->
<tr>
<td height="98" valign="top" bgcolor="#FFFFFF"> <table width="500" height="111" border="0" cellspacing="0">
<tr>
<td width="150"><strong><font size="1" face="verdana">Nome Funcionario:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['nome_func'].'</font></td>
</tr>
<tr>
<td width="150"><strong><font size="1" face="verdana">Cargo:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['cargo'].'</font></td>
</tr>
<tr>
<td width="150"><strong><font size="1" face="verdana">Data de admissao:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['admissao'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Servico:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['servicos'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Necessidade:</font></strong></td>
<td width="500"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['necessidade'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Colaborador:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['colaborador'].'</font></td>
</tr>
<tr>
<td><strong><font size="1" face="verdana">Status:</font></strong></td>
<td><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['status'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Data:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['data'].'</font></td>

<td width="314" align="right"><a href="excluir.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana">Deletar </font></strong> </a>  <a href="alteracao.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana"><form name="selecao">Editar</form> </font></form></strong></a></td>
</tr>
</tr>
</table></td>
</tr>
</table>
<br>
';
}
// Se não houver registros
} else {
echo "Nenhum nome foi encontrado com a palavra ".$palavra."";
}
}
?>
<p>                    <a href="index.php"><font color="#cd5c5c" size="1" face="verdana">Pagina Inicial</font.></a></p>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Guilherme91 nenhum erro é informado?

 

$_POST['palavra'] e $_GET['a'] retornam algum valor?

 

Verifique se no formulário de pesquisa o parâmetro name="" esta correto em cada input.

 

Verifique se a conexão com o banco esta estabelecida e também cheque se os campos da consulta correspondem aos da tabela presente na base de dados.

 

Em

 

"SELECT * FROM cadastro WHERE nome_func LIKE '%".$palavra."%' ORDER BY nome_func"

 

Prefira

 

"SELECT * FROM cadastro WHERE nome_func LIKE '%{$palavra}%' ORDER BY nome_func"

 

mysql_fetch_array( $sql ) pode ser substituida por mysql_fetch_assoc( $sql ) já que você utiliza somente os índices associativos.

 

Se este for um script para produção recomendo aplicar uma validação nesses dados recebidos pelo usuário. Do jeito que esta é vulnerável para sql injection.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não funcionoul..criei um tabela para mostrar os dados que eu solicitei... Eles nao esta retornando...

 

echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#9c9c9c">
<!--tr>
<td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#CD5C5C" size="1" face="verdana">...:::::Exibindo::::......</font> </strong></td>
</tr-->
<tr>
<td height="98" valign="top" bgcolor="#FFFFFF"> <table width="500" height="111" border="0" cellspacing="0">
<tr>
<td width="150"><strong><font size="1" face="verdana">Nome Funcionario:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['nome_func'].'</font></td>
</tr>
<tr>
<td width="150"><strong><font size="1" face="verdana">Cargo:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['cargo'].'</font></td>
</tr>
<tr>
<td width="150"><strong><font size="1" face="verdana">Data de admissao:</font></strong></td>
<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['admissao'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Servico:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['servicos'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Necessidade:</font></strong></td>
<td width="500"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['necessidade'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Colaborador:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['colaborador'].'</font></td>
</tr>
<tr>
<td><strong><font size="1" face="verdana">Status:</font></strong></td>
<td><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['status'].'</font></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Data:</font></strong></td>
<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['data'].'</font></td>

<td width="314" align="right"><a href="excluir.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana">Deletar </font></strong> </a>  <a href="alteracao.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana"><form name="selecao">Editar</form> </font></form></strong></a></td>
</tr>
</tr>
</table></td>
</tr>
</table>
<br>
';

 

 

 

Essa ai foi a tabela criada... Estou dando echo com os valores trazidos do banco... A pagina abre.. Mas os valores nao vem.. Acho que a os codigos q estou utilizando nao estao funcionando para buscar no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Guilherme91 faz esse teste:

 

Entre no seu phpMyAdmin (se tiver instalado).

 

No painel do aplicativo:

 

-> Selecione o banco de dados.

-> Clique no item SQL no menu horizontal no topo.

-> Coloque essa consulta abaixo sem ; no final.

 

SELECT * FROM cadastro WHERE nome_func LIKE '%a%' ORDER BY nome_func

 

Em '%a%' você coloca qualquer letra que pode estar em um nome.

 

Se existir algum dado cadastrado na tabela e não exibir resultado algum, você ira ter uma pista do problema.

 

----

 

Se puder, cole seu arquivo de conexão aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara retornou com os dados cadastrados que eu solicitei pelo nome...

 

Não sei onde posso estar errando...

 

A conexão esta tranquilo.. Pq tenho uma pagina que faz alteração e exclusão e funciona uma beleza..

 

È so no buscar pelo nome que esta dando erro. Quer dizer. Aparece a pagina mas nao a tabela que eu criei com o echo com os valores do banco...

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Check List</title>

 

<link rel="stylesheet" href="css/checkList.css" />

</head>

 

<body>

<div id="tudo">

<div id="topo">

<p align="justify"><img src="imgs/logo2.jpg" /></p>

<hr size="1"color="#CD5C5C" />

 

 

 

 

<?php

// Recuperamos a ação enviada pelo formulário

$operacao = $_GET['operacao'];

 

// Verificamos se a ação é de busca

if ($operacao == "buscar") {

 

// Pegamos a palavra

$palavra = ($_GET['palavra'];

 

// Verificamos no banco de dados produtos equivalente a palavra digitada

$sql = mysql_query("SELECT * FROM cadastro WHERE nome_func LIKE '%$palavra%' ORDER BY nome_func");

 

// Descobrimos o total de registros encontrados

$numRegistros = mysql_num_rows($sql);

 

// Se houver pelo menos um registro, exibe-o

if ($numRegistros != 0) {

// Exibe os produtos e seus respectivos preços

while ($x = mysql_fetch_object($sql)) {

echo'

<table width="0%" border="0" cellspacing="1" bgcolor="#9c9c9c">

<!--tr>

<td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#CD5C5C" size="1" face="verdana">...:::::Exibindo::::......</font> </strong></td>

</tr-->

<tr>

<td height="98" valign="top" bgcolor="#FFFFFF"> <table width="500" height="111" border="0" cellspacing="0">

<tr>

<td width="150"><strong><font size="1" face="verdana">Nome Funcionario:</font></strong></td>

<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['nome_func'].'</font></td>

</tr>

<tr>

<td width="150"><strong><font size="1" face="verdana">Cargo:</font></strong></td>

<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['cargo'].'</font></td>

</tr>

<tr>

<td width="150"><strong><font size="1" face="verdana">Data de admissao:</font></strong></td>

<td width="200"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['admissao'].'</font></td>

</tr>

<tr>

<td width="44"><strong><font size="1" face="verdana">Servico:</font></strong></td>

<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['servicos'].'</font></td>

</tr>

<tr>

<td width="44"><strong><font size="1" face="verdana">Necessidade:</font></strong></td>

<td width="500"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['necessidade'].'</font></td>

</tr>

<tr>

<td width="44"><strong><font size="1" face="verdana">Colaborador:</font></strong></td>

<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['colaborador'].'</font></td>

</tr>

<tr>

<td><strong><font size="1" face="verdana">Status:</font></strong></td>

<td><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['status'].'</font></td>

</tr>

<tr>

<td width="44"><strong><font size="1" face="verdana">Data:</font></strong></td>

<td width="400"><strong><font color="#CD5C5C" size="1" face="verdana">'.$x['data'].'</font></td>

 

<td width="314" align="right"><a href="excluir.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana">Deletar </font></strong> </a>  <a href="alteracao.php?id='.$x['id'].'"><strong><font color="#828282" size="1" face="verdana"><form name="selecao">Editar</form> </font></form></strong></a></td>

</tr>

</tr>

</table></td>

</tr>

</table>

<br>

';

}

// Se não houver registros

} else {

echo "Nenhum nome foi encontrado com a palavra ".$palavra."";

}

}

?>

<p>                    <a href="index.php"><font color="#cd5c5c" size="1" face="verdana">Pagina Inicial</font.></a></p>

</body>

</html>

 

Agora esta me retornando que "Nenhum nome foi encontrado com a palavra ".$palavra.""

 

O que epode ser?

 

Ah coloquei com a conexao.php... Esqueci de colocar ai nesse codigo...

 

Mas da o mesmo problema...

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.