Ir para conteúdo

POWERED BY:

Arquivado

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

vitinho.vitor

[Resolvido] Busca

Recommended Posts

Olá, estou fazendo um sistema de busca que procura uma palavra nas colunas "nome" e "cidade" nas tabelas "acantonamento", "camping" e "pesqueiro". Já tenho o código porém ele retorna o seguinte erro: PHP Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\home\w18kilatemvet1\Web\acampi\busca_palavra.php on line 68

 

Segue o código em PHP:

<?php
$db = mysql_select_db("w18kilatemvet11");
$sql = mysql_query("SELECT * FROM 'acantonamento' WHERE 'nome' , 'cidade' LIKE '%palavra%'
UNION
SELECT * FROM 'camping' WHERE 'nome' , 'cidade' LIKE '%palavra%'
UNION
SELECT * FROM 'pesqueiro' WHERE 'nome' , 'cidade' LIKE '%palavra%'");
$cont = mysql_num_rows($sql);if($cont==0){
  echo "<font face='arial' color='forestGreen'><center><h4><br><br><br>Não existem dados para a sua busca!<br><a href='refina.php'>Voltar!</a></h4></center>";
}

else{


$cont = 1;

echo "<table  width='390' height='0' border='0' align='center' cellpadding='3' cellspacing='0' style='display:inline' class='justifCopi'>
	<center><td width='150'  bgcolor='#414141' class='dest'><font face='arial' color='#CCCCCC' size='4'><center>Nome</center></font></td> 
    	<td  class='dest' width='150' bgcolor='#414141'><font face='arial' color='#CCCCCC' size='4'><center>Cidade</center></font></td>";

while ($row = mysql_fetch_array($sql)) 
{
if ($cont % 2 == 0)
{
$cor = "images/frank.jpg";
}
else
{
$cor = "images/frank2.jpg";
}

echo "<tr style='background: url(".$cor.")'>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['nome']."</a></td>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['cidade']."</a></td>";
echo "</tr>";
$cont = $cont + 1;
}
}
?>
</table>

O que poderia estar errado para ele mostrar esse erro??

 

Desde já agradeço

Vitor

Compartilhar este post


Link para o post
Compartilhar em outros sites

a query está errada, veja:

WHERE 'nome' , 'cidade' LIKE '%palavra%'
hein?!

 

campo = 'valor', outro_campo LIKE '%outro valor%'...

 

faltou algo ali depois do 'nome' ne?!

 

além disso, você não deveria usar ASPAS em nomes de campos...

sempre execute com um mysql_error()

http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/

$sql = mysql_query("SELECT * FROM `acantonamento` WHERE `cidade` LIKE '%palavra%'UNIONSELECT * FROM `camping` WHERE `cidade` LIKE '%palavra%'UNIONSELECT * FROM `pesqueiro` WHERE `cidade` LIKE '%palavra%'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, então fiz desse jeito que você falou, coloquei o mysql_error() (que havia esquecido! Imagem Postada ) porém ele não retorna nenhum registro! Segue o código:

<html><head><meta content='text/html; charset=ISO-8859-1 http-equiv='Content-Type'/><title>ACAMPI - O Site dos Campistas</title><style>a:link {color: #228B22; text-decoration:none}a:hover {color: red; text-decoration:underline;}a:active {color: red;}a:visited {color: #228B22;}</style><style>.but_sec_1{	font-size:13px;	font-family:Arial,sans-serif;	font-weight:bold;	color:#fff!important;	cursor:pointer;	border:1px solid #333;	background:#2E8B57 repeat-x scroll 0 -325px;	margin-top:-1px;	padding-bottom:2px!important;}</style></head><body><TABLE center width='95%' border='0' cellspacing='0' cellpadding='0'>	<TR><body topmargin=0 leftmargin=0 rightmargin=0>	<TH colspan='3'><p align='right'><font face='arial' size='2' color='#228B22'>	<a href='index.php'>Home</a></b> | <b>	<a href='classificados.php'><font color='red'><blink>Anuncie!</blink></font></a></b> | 	<a href='indique.html'><b> Indique esse Site</a></b> | <b>	<a href='fale conosco.html'>Contato</b></a></font><br></p></TH></body></TABLE></font><font face='Bradley Hand ITC' color='Yellow'><center><center><img src='imageslogo.png' widht='110' height='150'><br><br><center><b><font size='5' face="arial" color="forestGreen"><b>Resultado da Pesquisa:</center></font><font face="arial"><center><br><input type="submit" name="voltar" value="Voltar" class="but_sec_1" style="cursor:pointer;" onClick="javascript:history.back(1)"><br><br>                        <?php$host = "-";$user = "-";$pass = "-";$conexao = mysql_connect($host, $user, $pass) OR die ("Erro ao conectar-se");?><?php$db = mysql_select_db("w18kilatemvet11");$sql = mysql_query("SELECT * FROM `acantonamento` WHERE `cidade` LIKE '%palavra%'UNIONSELECT * FROM `camping` WHERE `cidade` LIKE '%palavra%'UNIONSELECT * FROM `pesqueiro` WHERE `cidade` LIKE '%palavra%'")or die( mysql_error() );$cont = mysql_num_rows($sql);if($cont==0){  echo "<font face='arial' color='forestGreen'><center><h4><br><br><br>Não existem dados para a sua busca!<br><a href='refina.php'>Voltar!</a></h4></center>";}else{$cont = 1;echo "<table  width='390' height='0' border='0' align='center' cellpadding='3' cellspacing='0' style='display:inline' class='justifCopi'>	<center><td width='150'  bgcolor='#414141' class='dest'><font face='arial' color='#CCCCCC' size='4'><center>Nome</center></font></td>     	<td  class='dest' width='150' bgcolor='#414141'><font face='arial' color='#CCCCCC' size='4'><center>Cidade</center></font></td>";while ($row = mysql_fetch_array($sql)) {if ($cont % 2 == 0){$cor = "images/frank.jpg";}else{$cor = "images/frank2.jpg";}echo "<tr style='background: url(".$cor.")'>";echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['nome']."</a></td>";echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['cidade']."</a></td>";echo "</tr>";$cont = $cont + 1;}}?></table>
O que pode ser? nem se eu digitar o nome exato de uma cidade, ele não acha!

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nem criou a variavel $palavra ne?!

 

cadê o input onde você digita ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

página refina.php:

<form action="busca_palavra.php" method="POST"><div id='posiciona1'><center><b><font size='4' face="arial"><b>Palavra-Chave: </font><input type="text" name="palavra" size="35"><input type="submit" title="Buscar" value="Buscar" id="MENU:BUSCAD" class="but_sec_1" style="cursor:pointer;"><br><font face="arial" color="yellow" size="1">Nome da cidade, camping, pesqueiro ou acantonamento</font></div></form>
Esta aí!

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui desta forma:

$sql = mysql_query(
"SELECT * FROM acantonamento WHERE nome LIKE '%".$_POST['palavra']."%' OR
                  cidade LIKE '%".$_POST['palavra']."%' 
UNION
SELECT * FROM camping WHERE nome LIKE '%".$_POST['palavra']."%' OR
                  cidade LIKE '%".$_POST['palavra']."%'
UNION
SELECT * FROM pesqueiro WHERE nome LIKE '%".$_POST['palavra']."%' OR
                  cidade LIKE '%".$_POST['palavra']."%'
")or die( mysql_error() );

Porém os resultados ficam misturados, como eu poderia colocar um sub-titulo para cada tabela.

ex: ACANTONAMENTO:

(resultados)

 

CAMPING:

(resultados)

 

PESQUEIROS:

(resultados)

 

É possivel fazer isso??

 

segue o modo que eu estou imprimindo os resultados:

echo "<table  width='390' height='0' border='0' align='center' cellpadding='3' cellspacing='0' style='display:inline' class='justifCopi'>
	<center><td width='150'  bgcolor='#414141' class='dest'><font face='arial' color='#CCCCCC' size='4'><center>Nome</center></font></td> 
    	<td  class='dest' width='150' bgcolor='#414141'><font face='arial' color='#CCCCCC' size='4'><center>Cidade</center></font></td>";

while ($row = mysql_fetch_array($sql)) 
{
if ($cont % 2 == 0)
{
$cor = "images/frank.jpg";
}
else
{
$cor = "images/frank2.jpg";
}

echo "<tr style='background: url(".$cor.")'>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['nome']."</a></td>";
echo "<td><center><b><font color='blue' size='3'><a href='".$tipo.".php?nome=".$row['nome']."' target='popupwindow' onclick='window.open('www.tallybaby.com.br/acampi', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true'>".$row['cidade']."</a></td>";
echo "</tr>";
$cont = $cont + 1;
}
}
?>
</table>

Desde já agradeço!!

 

Vitor

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.