Ir para conteúdo

POWERED BY:

Arquivado

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

betezek

[Resolvido] To com problemas no busca

Recommended Posts

O meu código é este abaixo, mas como fazer se ele não chama duas colunas, First_name que já está e a outra seria lest_name. Sempre que chamo ela aqui da um erro que não foi posspivel abrir.

 

?>

<form method="POST">

Nome: <input type="text" name="palavra">

<input type="submit" value="Buscar">

</form>

<?

if(!empty($HTTP_POST_VARS[palavra])) {

$palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]); /* Altera os espaços adicionando no lugar o simbolo % */

#$qr = "SELECT * FROM yogurt WHERE users LIKE '%".$palavra."%' ORDER BY codigo DESC";

$qr = "SELECT * FROM users WHERE first_name LIKE '%".$palavra."%' ORDER BY id DESC";

$sql = mysql_query($qr); // Executa a query no Banco de Dados

$total = mysql_num_rows($sql); // Conta o total de resultados encontrados

echo "Sua busca retornou <b>'$total'</b> resultados.<br>\n";

while($r = mysql_fetch_array($sql)) { // Gera o Loop com os resultados

echo "<hr>\n";

#echo $r[yogurt]."<br>\n";

echo "<a href='profile.php?id=$r[id]'<\a>";

echo "Nome: ";

echo $r[first_name]."\n";

echo " | ";

echo "Email: ";

echo $r."<br>\n";

}

}

?>

 

Alguém pode me ajudar?

 

Grato pela atenção!

 

Eu fiz assim, mas da erro.

$qr = "SELECT * FROM users WHERE first_name LIKE '%".$palavra."%' OR lest_name LIKE '%".$palavra."%'ORDER BY id DESC";

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente trocar OR por AND;

c n der certo, poste o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente trocar OR por AND;

c n der certo, poste o erro

 

 

Veja:

$qr = "SELECT * FROM users WHERE first_name LIKE '%".$palavra."%' AND lest_name LIKE '%".$palavra."%' ORDER BY id DESC";

erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\clientes\FACECROWN\system\busca.php on line 19

Sua busca retornou '' resultados.

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\clientes\FACECROWN\system\busca.php on line 21

Compartilhar este post


Link para o post
Compartilhar em outros sites

use OR pois aí ele retornará resultado que tenha em first name OU em lAst_name

o problema pode estar ocorrendo por voce ter posto lest_name, ao invés de last_name...verifique o nome o campo em sua tabela...

 

$qr = "SELECT * FROM users WHERE first_name LIKE '%".$palavra."%' AND lest_name LIKE '%".$palavra."%' ORDER BY id DESC";

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, foi mal, nada a ver o and pelo or.. tinha entendido errado, pensei q você queria obter resultados só qdo a pessoa digitasse o nome com o sobrenome..

 

Bom, faz o seguinte; criei uma pagina q pesquisa pelo nome ou sobrenome e esta ok; verifique ai e veja c t ajuda:

(já está incluido 1 formulario c/ o campo de pesquisa chamado "palavra" e 1 botão "submit", ok?)

 

obs: atenção: corrija o nome da tabela, os campos q você deseja exibir e a conexão, ok?

 

*************************************************
AQUI SUA STRING DE CONEXÃO

*************************************************

<?php
$colname_Recordset1 = "-1";
if (isset($_POST['palavra'])) {
 $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['palavra'] : addslashes($_POST['palavra']);
}
mysql_select_db($database_testemysql, $testemysql);
$query_Recordset1 = sprintf("SELECT * FROM tabela WHERE nome = '%s' or sobrenome = '%s'", $colname_Recordset1,$colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $testemysql) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>

<!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=iso-8859-1" />
<title>busca-nome-ou-sobrenome</title>
</head>

<body>
<p>busca-nome-ou-sobrenome:</p>
<form id="form1" name="form1" method="post" action="busca-nome-ou-sobrenome.php">
 <label>
 <input name="palavra" type="text" id="palavra" />
 </label>
  
<label>
<input type="submit" name="Submit" value="pesquisar" />
</label>
</form>
<p>Resultados:</p>
<?php do { ?>
 <p><?php echo $row_Recordset1['nome']; ?> <?php echo $row_Recordset1['sobrenome']; ?></p>
 <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?><p> </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz as mudanças aqui e ele ainda não abre...

 

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\wamp\www\system\busca.php on line 20

 

 

Olha, tem alguma coisa trava neste bd que não aceita a leitura da tabela toda...

 

?>

<form method="POST">

Nome: <input type="text" name="palavra">

<input type="submit" value="Buscar">

</form>

<?php

$colname_Recordset1 = "-1";

if (isset($_POST['palavra'])) {

$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['palavra'] : addslashes($_POST['palavra']);

}

 

$query_Recordset1 = sprintf("SELECT * FROM users WHERE first_name = '%s' or lest_name = '%s'", $colname_Recordset1,$colname_Recordset1);

>>>> aqui onde está o erro>>>>$Recordset1 = mysql_query($query_Recordset1, $testemysql) or die(mysql_error());

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>

 

<!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=iso-8859-1" />

<title>busca-nome-ou-sobrenome</title>

</head>

 

<body>

<p>busca-nome-ou-sobrenome:</p>

<form id="form1" name="form1" method="post" action="busca-nome-ou-sobrenome.php">

<label>

<input name="palavra" type="text" id="palavra" />

</label>

  

<label>

<input type="submit" name="Submit" value="pesquisar" />

</label>

</form>

<p>Resultados:</p>

<?php do { ?>

<p><?php echo $row_Recordset1['first_name']; ?> <?php echo $row_Recordset1['lest_name']; ?></p>

<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?><p> </p>

</body>

</html>

<?php

mysql_free_result($Recordset1);

?>

 

CORRETO!

COM SUA AJUDA EU ACHEI O ERRO... UM PEQUENO DETALHE - LEST_NAME E O CORRETO É LAST_NAME...

 

OBRIGADO AÍ PELA SUA AJUDA E AOS DEMAIS MEMBROS DO FÓRUM QUE TIVERAM A PACHORRA DE ME AJUDAR!

 

VIU COMO DUAS OU TRÊS CABEÇAS PENSAM MAIS DO QUE UMA SÓ... EU NUNCA IA ACHAR ESTE ERRRO, POIS EU LIA POR CIMA E NÃO ATENTAVA AO DETALHE...

 

ABRAÇOS A TODOS

 

use OR pois aí ele retornará resultado que tenha em first name OU em lAst_name

o problema pode estar ocorrendo por voce ter posto lest_name, ao invés de last_name...verifique o nome o campo em sua tabela...

 

$qr = "SELECT * FROM users WHERE first_name LIKE '%".$palavra."%' AND lest_name LIKE '%".$palavra."%' ORDER BY id DESC";

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.