Ir para conteúdo

Arquivado

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

santos_s

Busca em php com mysql

Recommended Posts

Alguem poderia me dizer o que está errado nessa busca? não esta retornado nada

<body>
<div align="center" id ="buscar">
<form action="" enctype="multipart/form-data" name="buscar" method="post">
<input type="text" name="buscar" size='15'/>
<input type="image" src="img/btn_ok.gif"title="Pesquisar"/>
</form>
</div>
<table BORDER="1" ALIGN=center STYLE="width:700px; height:30px">
<tr>
<td width="200">Seq</td>
<td>Nome</td>
</tr>
<?php
$buscar_cliente = $_POST['buscar'];
$sql_listar_clientes = mysql_query("SELECT * FROM clientes WHERE nome LIKE'%buscar_cliente%'");
$total_registros	 = mysql_num_rows($sql_listar_clientes);
while($resultado_clientes = mysql_fetch_array($sql_listar_clientes)){
	$id_clientes =$resultado_clientes['id'];
	$nome_clientes = $resultado_clientes['nome'];
?>
<tr>
<td><?php echo $id_clientes?></td>
<td><?php echo $nome_clientes?></td>
</tr>
<?php
}
?>
<tr>
<td>Registro Encontrados</td>
<td><?php$total_registros?></td>
</tr>
</table>
</body>

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

while($resultado_clientes = mysql_fetch_array($sql_listar_clientes))

 

Na linha acima coloque:

 

$resultado_clientes = $sql_listar_clientes;

while (mysql_fetch_array($resultado_clientes))

 

E também notei um pequeno erro nesta linha:

 

 

<td><?php$total_registros?></td>

 

Você esqueceu de colocar o "=" antes do "$".....

Ficando assim:

 

 

<td><?php=$total_registros?></td>

 

Espero ter ajudado. Qualquer coisa diga se deu certo... Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não me retornou nada ainda,

 

acho estranho e que mesmo fazendo um select de todos os registro não me retorna nada.

 

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora eu não estou entendo nada!.

 

quando eu coloco a página pra rodar no browser e vou no código fonte(Ctrl+U) meu código php está exposto.

 

 

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora eu não estou entendo nada!.

 

quando eu coloco a página pra rodar no browser e vou no código fonte(Ctrl+U) meu código php está exposto.

 

 

 

[]s

 

Verifique se você está abrindo e fechando o php direito

 

<?php

//Seu código aqui

?>

 

Outra coisa é que eu percebi que você está usando mysql_* o que está obsoleto, e como você ainda está aprendendo e melhor começar aprendendo o mysqli e PDO, do que aprender a usar mysql_* e ele deixa de existir e você ter que aprender tudo de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian acho que está tudo certo no meu php, segue.

<html>
<head>
<?php
$conexao = mysql_connect("localhost","root", "");
mysql_select_db("cadastro");
?>
</head>
<body>
<div align="center" id ="buscar">
<form action="" enctype="multipart/form-data" name="buscar" method="POST">
<input type="text" name="buscar" size='15'/>
<input type="image" src="img/btn_ok.gif"title="Pesquisar"/>
</form>
</div>
<table BORDER="0" ALIGN=center STYLE="width:700px; height:30px">
<tr>
<td width="200">Seq</td>
<td>Nome</td>
</tr>
<?php
$buscar_cliente = $_POST['buscar'];
$sql_listar_usuario = mysql_query("SELECT * FROM clientes WHERE nome LIKE'%$buscar_cliente%'");
$total_registros	 = mysql_num_rows($sql_listar_usuario);
$resultado_clientes = $sql_listar_clientes;

    while (mysql_fetch_array($resultado_clientes)){
	$id_usuario =$resultado_usuario['id'];
	$nome_usuario = $resultado_usuario['nome'];
?>
<tr>
<td><?php echo $id_usuario?></td>
<td><?php echo $nome_usuario?></td>
</tr>
<?php
}
?>
<tr>
<td>Registro Encontrados</td>
<td><?php=$total_registros?></td>
</tr>
</table>
</body>
</html>

Já tentei de tudo, mais até o momento sem êxito.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que está tudo certo no meu php

 

amigo, não me leve a mal, mas não está quase nada certo não..

vc está confundindo a sintaxe básica, usando "="

no lugar de "echo" etc.. pesquise sobre isso;

 

bom, essa linha:

 

while (mysql_fetch_array($resultado_clientes)){

 

troque por essa:

 

while ($resultado_usuario=mysql_fetch_array($sql_listar_usuario)){

 

apague essas linhas:

 

$id_usuario =$resultado_usuario['id'];
$nome_usuario = $resultado_usuario['nome'];

 

e essas linhas:

 

<td><?php echo $id_usuario?></td>
<td><?php echo $nome_usuario?></td>

 

troque por essas:

 

<td><?php echo $resultado_usuario['id'];?></td>
<td><?php echo $resultado_usuario['nome'];?></td>

 

aproveite e apague também essas linhas:

 

$total_registros = mysql_num_rows($sql_listar_usuario);
$resultado_clientes = $sql_listar_clientes;

 

e essa linha:

 

<td><?php=$total_registros?></td>

 

troque por essa:

<td><?php echo mysql_num_rows($sql_listar_usuario);?></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, dei uma rapida modificada no código e percebi uma coisa que você deve estar atento.

Talvez, só TALVEZ, não esteja retornando nada porque nesta parte do código:

$buscar_cliente = $_POST['buscar'];
$sql_listar_usuario = mysql_query("SELECT * FROM clientes WHERE nome LIKE'%$buscar_cliente%'");
$total_registros	 = mysql_num_rows($sql_listar_usuario);
$resultado_clientes = $sql_listar_clientes;

Você atribui a query para a variavel $sql_listar_usuario e depois você atribui a variável $resultado_clientes a variavel UNICA e VAZIA $sql_listar_CLIENTES, e depois você da o fetch na variavel $resultar_clientes, ou seja, não vai retornar mesmo.

 

Precisa prestar mais atenção nisso, ou você vai perder muito tempo como agora :)

 

Testa ai, se não funcionar dá um toque.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Fernando C,

 

 

tá funcionando mais quando abro a página gera um erro Indice Indefinido no meu pesquisar(Notice: Undefined index: buscar in H:\wamp\www\sistema\Cadastro\consulta.php on line 26) nessa linha

26 $pesquisa = $_REQUEST['buscar'];27 $sql = mysql_query("SELECT * FROM usuario where nome like'$pesquisa'");

A pesquisa ele faz legal, mais quando é abre a página pela primeira vez gera esse erro.

 

[]s

Cara, dei uma rapida modificada no código e percebi uma coisa que você deve estar atento.

 

Talvez, só TALVEZ, não esteja retornando nada porque nesta parte do código:

$buscar_cliente = $_POST['buscar'];$sql_listar_usuario = mysql_query("SELECT * FROM clientes WHERE nome LIKE'%$buscar_cliente%'");$total_registros	 = mysql_num_rows($sql_listar_usuario);$resultado_clientes = $sql_listar_clientes;

Você atribui a query para a variavel $sql_listar_usuario e depois você atribui a variável $resultado_clientes a variavel UNICA e VAZIA $sql_listar_CLIENTES, e depois você da o fetch na variavel $resultar_clientes, ou seja, não vai retornar mesmo.

 

Precisa prestar mais atenção nisso, ou você vai perder muito tempo como agora :)

 

Testa ai, se não funcionar dá um toque.

 

 

É verdade meu caro, e como perco, e tempo é dinheiro...

deu certo aqui.

 

[]s

Alguem?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fácil! Simplesmente não existe nenhuma request na página por isso retorna esse erro

o que você pode fazer é:

if(isset($_REQUEST['buscar'])){

//código aqui

}

e todo seu código aí, ou seja, ele só vai executar o código se existir o 'buscar'

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.