betezek 0 Denunciar post Postado Abril 1, 2011 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
Fernando C 128 Denunciar post Postado Abril 2, 2011 tente trocar OR por AND; c n der certo, poste o erro Compartilhar este post Link para o post Compartilhar em outros sites
betezek 0 Denunciar post Postado Abril 5, 2011 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
crucifier 0 Denunciar post Postado Abril 6, 2011 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
Fernando C 128 Denunciar post Postado Abril 6, 2011 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
betezek 0 Denunciar post Postado Abril 7, 2011 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