Ir para conteúdo
Fórum Script Brasil
  • 0

Busca com mais de uma variavel


Aprendiz5

Pergunta

estou com o php...

tudo.php

<?

mysql_connect("localhost","root","") or die("Não foi possível a conexão.".mysql_error());

mysql_select_db("tudo");

$quero = $_POST["quero"];

$tipo = $_POST["tipo"];

$rs = mysql_query("select * from consulta where quero like '%$quero%'");

echo "<center>";

echo "</font></p><font face='Verdana'><b>";

echo "Foi(ram) encontrado(s) <font color='#0000ff'>".mysql_affected_rows()."</font> resultado(s) de sua consulta.</p>";

echo "</b></font>";

echo "<table border='10' cellspacing='0' bordercolor='#ffffff'>";

while($reg = mysql_fetch_array($rs))

{

echo "<tr bgcolor='#ffffff'><td rowspan='4' align='center'><br>&nbsp;&nbsp;&nbsp;<img src='img/$reg[1]'>

&nbsp;&nbsp;&nbsp;<br><br></td><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Operação:</b></font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[2]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Imovel:</b></font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[5]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Categoria:</b>&nbsp;&nbsp;&nbsp;</font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[4]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Valor:</b>&nbsp;&nbsp;&nbsp;</font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[12]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td colspan='3'>&nbsp;</td></tr>";

}

echo "</table>";

echo "</center>";

echo "</font></p><font face='Verdana'>";

echo "<b>Clique <a href='busca.php'>aqui</a> para voltar.</b>";

echo "</font>";

mysql_close();

?>

mais isso foi apenas um engana troxa...mais não quero isso pois senão a pessoas escolhe la quero compra casa bla bla...enfim.. so q o php vai buscar apenas pelo COMPRA, ou seja, apareceram apartamentos flats, que estejam como COMPRA e não somente casa com as especificações do cliente...como posso fazer pra ele buscar por todas variaveis ??

tipw.. Quero, tipo imovel,valor entre x e x, area minima entre x e x, vagas, dormitorios, suites, nas regiões...enfim quero q ele busque por todas informaçoes fornecidas pelo cliente e forneças elas !!

help...

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Todos os dados vão ser obrigatorios? Se sim basta ir montando a query encadeada, exemplo...

<?php

$query = "coluna1 = '$_POST['dado1']'";
$query .= " AND coluna2 = '$_POST['dado2']'";
$query .= " AND coluna3 = '$_POST['dado3']'";
$query .= " AND coluna4 = '$_POST['dado4']'";

$sql = mysql_query("SELECT * FROM tabela WHERE ".$query."");
...

?>
Caso os dados não seja obrigatórios... ai tem que pegar primeiro aquele que será obrigatório (se tiver um)... o resto vai no if/else
<?php

$query = "coluna1 = '$_POST['dado1']'"; //No caso esse seria o obrigatório
if(!empty($_POST['dado2'])){
$query .= " AND coluna2 = '$_POST['dado2']'";
}
if(!empty($_POST['dado3'])){
$query .= " AND coluna3 = '$_POST['dado3']'";
}
if(!empty($_POST['dado4'])){
$query .= " AND coluna4 = '$_POST['dado4']'";
}

$sql = mysql_query("SELECT * FROM tabela WHERE ".$query."");
...

?>

Observe que ali eu assumi que se o dado não for preenchido ele vai vir em branco (empty), esse é a idéia...

Link para o comentário
Compartilhar em outros sites

  • 0
Todos os dados vão ser obrigatorios? Se sim basta ir montando a query encadeada, exemplo...

<?php

$query = "coluna1 = '$_POST['dado1']'";
$query .= " AND coluna2 = '$_POST['dado2']'";
$query .= " AND coluna3 = '$_POST['dado3']'";
$query .= " AND coluna4 = '$_POST['dado4']'";

$sql = mysql_query("SELECT * FROM tabela WHERE ".$query."");
...

?>
Caso os dados não seja obrigatórios... ai tem que pegar primeiro aquele que será obrigatório (se tiver um)... o resto vai no if/else
<?php

$query = "coluna1 = '$_POST['dado1']'"; //No caso esse seria o obrigatório
if(!empty($_POST['dado2'])){
$query .= " AND coluna2 = '$_POST['dado2']'";
}
if(!empty($_POST['dado3'])){
$query .= " AND coluna3 = '$_POST['dado3']'";
}
if(!empty($_POST['dado4'])){
$query .= " AND coluna4 = '$_POST['dado4']'";
}

$sql = mysql_query("SELECT * FROM tabela WHERE ".$query."");
...

?>

Observe que ali eu assumi que se o dado não for preenchido ele vai vir em branco (empty), esse é a idéia...

uma outra coisa..tipw como faço pra ele pega valores entre 100 e 200 ? area minima de 20m² e 100 m² ??

Link para o comentário
Compartilhar em outros sites

  • 0
SELECT * FROM tabela WHERE campotal BETWEEN '100' AND '200'

so q ai vou ter q fazer outro php? ou da pra colocar naquele mesmo? como fo fazer ?

$query = "coluna1 = '$_POST['quero']'";

$query .= " AND coluna2 = '$_POST['dado2']'";

$query .= " AND coluna3 = '$_POST['dado3']'";

$query .= " AND coluna4 = '$_POST['dado4']'";

$rs = mysql_query("SELECT * FROM tabela WHERE ".$query." and "SELECT * FROM tabela WHERE campotal BETWEEN '100' AND '200' " ");

Link para o comentário
Compartilhar em outros sites

  • 0
Faz assim, pega umas apostilas aqui, dá uma lida e depois volta, pois você deve ter pelo menos o básico pra começar e esse sua query ai demonstra que você não sabe nem a sintaxe básica do comando SELECT...

Kara vlws mesmo pelas suas ajuda..so q aquele codigo q você me passou ta dando erro na linha 5

<?

mysql_connect("localhost","root","") or die("Não foi possível a conexão.".mysql_error());

mysql_select_db("consulta");

$query = "coluna1 = '$_POST['quero']'"; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$query .= " AND coluna2 = '$_POST['tipo']'";

$query .= " AND coluna3 = '$_POST['estado']'";

$query .= " AND coluna4 = '$_POST['chkRegioes']'";

$query .= " AND coluna2 = '$_POST['vmini']'";

$query .= " AND coluna3 = '$_POST['vmaxi']'";

$query .= " AND coluna4 = '$_POST['dormitorios']'";

$query .= " AND coluna3 = '$_POST['suite']'";

$query .= " AND coluna4 = '$_POST['vaga']'";

$query .= " AND coluna3 = '$_POST['amini']'";

$query .= " AND coluna4 = '$_POST['amaxi']'";

$rs = mysql_query("SELECT * FROM consulta WHERE ".$query."");

qual problema dele?

Link para o comentário
Compartilhar em outros sites

  • 0
Tem que concatenar a superglobal, ou seja, em vez de:

$query = "coluna1 = '$_POST['quero']'";

Fica

$query = "coluna1 = '".$_POST['quero']."'";

Tem que fazer isso em todas as linhas...

cara fiz o que você mandou mesmo assim da erro

Notice: Undefined index: quero in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 5

Notice: Undefined variable: query in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 5

Notice: Undefined index: tipo in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 6

Notice: Undefined index: estado in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 7

Notice: Undefined index: chkRegioes in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 8

Notice: Undefined index: vmini in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 9

Notice: Undefined index: vmaxi in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 10

Notice: Undefined index: dormitorios in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 11

Notice: Undefined index: suite in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 12

Notice: Undefined index: vaga in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 13

Notice: Undefined index: amini in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 14

Notice: Undefined index: amaxi in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 15

Foi(ram) encontrado(s) -1 resultado(s) de sua consulta.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-7\www\marinleo\tudo.php on line 24

Clique aqui para voltar.

fiz isto

<?

mysql_connect("localhost","root","") or die("Não foi possível a conexão.".mysql_error());

mysql_select_db("consulta");

$query .= "coluna1 = '".$_POST['quero']."'";

$query .= " AND coluna2 = '".$_POST['tipo']."'";

$query .= " AND coluna3 = '".$_POST['estado']."'";

$query .= " AND coluna4 = '".$_POST['chkRegioes']."'";

$query .= " AND coluna2 = '".$_POST['vmini']."'";

$query .= " AND coluna3 = '".$_POST['vmaxi']."'";

$query .= " AND coluna4 = '".$_POST['dormitorios']."'";

$query .= " AND coluna3 = '".$_POST['suite']."'";

$query .= " AND coluna4 = '".$_POST['vaga']."'";

$query .= " AND coluna3 = '".$_POST['amini']."'";

$query .= " AND coluna4 = '".$_POST['amaxi']."'";

$rs = mysql_query("SELECT * FROM consulta WHERE ".$query."");

echo "<center>";

echo "</font></p><font face='Verdana'><b>";

echo "Foi(ram) encontrado(s) <font color='#0000ff'>".mysql_affected_rows()."</font> resultado(s) de sua consulta.</p>";

echo "</b></font>";

echo "<table border='10' cellspacing='0' bordercolor='#ffffff'>";

while($reg = mysql_fetch_array($rs))

{

echo "<tr bgcolor='#ffffff'><td rowspan='4' align='center'><br>&nbsp;&nbsp;&nbsp;<img src='img/$reg[1]'>

&nbsp;&nbsp;&nbsp;<br><br></td><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Operação:</b></font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[5]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Imovel:</b></font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[8]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Categoria:</b>&nbsp;&nbsp;&nbsp;</font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[9]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Valor:</b>&nbsp;&nbsp;&nbsp;</font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[10]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td><font face='Verdana'><b>&nbsp;&nbsp;&nbsp;Valor:</b>&nbsp;&nbsp;&nbsp;</font></td>

<td><font face='Verdana' color='#cc0000'><b>&nbsp;&nbsp;&nbsp;$reg[14]&nbsp;&nbsp;&nbsp;</b></font></td></tr>";

echo "<tr bgcolor='#ffffff'><td colspan='3'>&nbsp;</td></tr>";

}

echo "</table>";

echo "</center>";

echo "</font></p><font face='Verdana'>";

echo "<b>Clique <a href='index.htm'>aqui</a> para voltar.</b>";

echo "</font>";

mysql_close();

?>

Editado por Aprendiz5
Link para o comentário
Compartilhar em outros sites

  • 0

Aprendiz5, usa a inteligência que eu suponho que Deus tenha te dado, olha o teu código, na sua tabela existem colunas chamadas "coluna1","coluna2","coluna3" e "coluna4"? Você pegou as apostilas? Duvido.... bom, da minha parte encerro por aqui, pois pelo visto você não tem a mínima vontade de correr atrás, boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 0

Já que você não está fazendo tratamento de dados algum, assim fica mais fácil para entender?

$a = $_POST['quero']; // eu pegei o que o joaozinho digitou no campo quero
$b = $_POST['tipo']; // eu pegei o que o mesmo joao selecionou no tipo
$rs = mysql_query("SELECT * FROM consulta WHERE coluna1 = $a AND coluna2 = $b"); // eu to dizendo que so quero dados que forem iguais ao que eu pegei
// traduzindo: joga_comando_no_mysql("SELECIONA todos DA TABELA consulta QUE TENHAM  a coluna1 igual ao valor que digitei no campo quero E TAMBÉM a coluna2 seja igual o valor que selecionei no tipo

Deu pra sacar agora?

se não da uma olhada nisso: http://www.w3schools.com/sql/default.asp

Link para o comentário
Compartilhar em outros sites

  • 0
Já que você não está fazendo tratamento de dados algum, assim fica mais fácil para entender?

$a = $_POST['quero']; // eu pegei o que o joaozinho digitou no campo quero
$b = $_POST['tipo']; // eu pegei o que o mesmo joao selecionou no tipo
$rs = mysql_query("SELECT * FROM consulta WHERE coluna1 = $a AND coluna2 = $b"); // eu to dizendo que so quero dados que forem iguais ao que eu pegei
// traduzindo: joga_comando_no_mysql("SELECIONA todos DA TABELA consulta QUE TENHAM  a coluna1 igual ao valor que digitei no campo quero E TAMBÉM a coluna2 seja igual o valor que selecionei no tipo

Deu pra sacar agora?

se não da uma olhada nisso: http://www.w3schools.com/sql/default.asp

hum entendi...você poderia me ajuda com outra coisa..tipw quero q ele armazenes esses valores so q tem campos q são tipo valor entre x e y... ai eu queria q ele aparece os imoveis entre aqueles valores e com aquelas caracteristica não to conseguindo também !

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...