fiz um formulario q serve como uma busca avançada... se o usuario preencher 2 dos 5 campos... ele tem q fazer a busca dos 2 e ignorar os outros 3 e assim por diante.
porém se eu nao escolher 2 campos... ele da um erro
alguem pode me dizer o q eh?
segue os campos
<form action="avancada.php" method="post"> <fieldset> <legend>Busca avançada</legend> <label>Qtde de dormitorio</label> <select name="dormitorio"> <option value="">Selecione</option> <option value="Apartamento 2 dormitórios">Dois dorm</option> <option value="Apartamento 3 dormitórios">Três dorm</option> </select> <label>Valor do Apartamento</label> <select name="valor"> <option value="">Selecione</option> <option value="250">Até R$ 250.000,00</option> <option value="251">R$251.000,00 a R$ 400.000,00</option> <option value="401">R$401.000,00 a R$ 600.000,00</option> <option value="601">R$601.000,00 a R$ 900.000,00</option> <option value="901">Acima de R$ 900.000,00</option> </select> <label>Fase da Obra</label> <select name="fase"> <option value="">Selecione</option> <option value="Breve Lançamento">Breve Lançamento</option> <option value="Lançamento">Lançamento</option> <option value="Em Obras">Em Obras</option> <option value="Pronto para morar">Pronto para morar</option> <option value="Entrega em 2009">Entrega em 2009</option> </select> <label>Área Privativa</label> <select name="area"> <option value="0">Selecione</option> <option value="100">até 100m²</option> <option value="101">de 101m² a 150m²</option> <option value="151">de 151m² a 200m²</option> <option value="201">de 201m² a 300m²</option> <option value="300">acima de 300m²</option> </select> <input type="submit" value="Enviar" name="submit" /> </fieldset> </form>
aqui esta o avancada.php
<?php
include("banco.php");
if(isset($_POST['valor'])){
if($_POST["valor"]==250){
$minimo = 1000.00;
$maximo = 250000.00;
}
if($_POST['valor']==251){
$minimo = 251000.00;
$maximo = 400000.00;
}
if($_POST['valor']==401){
$minimo = 401000.00;
$maximo = 600000.00;
}
if($_POST['valor']==601){
$minimo = 601000.00;
$maximo = 900000.00;
}
if($_POST['valor']==901){
$minimo = 901000.00;
$maximo = 1900000.00;
}
$valor = $_POST['valor'];
$sql_valor = "AND valor <= '$maximo' AND valor >= '$minimo' "; //cria auxiliar pro sql
}else{
unset($sql_valor);
}
//AREA PRIVATIVA
if(isset($_POST['area'])){
if($_POST['area']==100){
$min = 1;
$max = 100;
}
if($_POST['area']==101){
$min= 101;
$max = 150;
}
if($_POST['area']==151){
$min = 151;
$max = 200;
}
if($_POST['area']==201){
$min = 201;
$max = 300;
}
if($_POST['area']==300){
$min = 301;
$max = 901;
}
$area = $_POST['area'];
$sql_area = "AND area <= '$max' AND area >= '$min' "; //cria auxiliar pro sql
}else{
unset($sql_area);
}
if (isset($_POST["fase"])){ //Verifica se est preenchido
$fase = $_POST["fase"];
$sql_fase = " AND fase_obra LIKE '%$fase%' ";
}else{
unset($sql_fase);
}
$dormitorio = htmlspecialchars(addslashes($_POST['dormitorio']), ENT_QUOTES);
if(isset($_POST['submit'])) {
$res = "SELECT * FROM empreendimento WHERE tipo_imovel LIKE '%$dormitorio%' $sql_valor $sql_fase $sql_area";
$query = mysql_query($res);//adiciona sql auxiliar
$resultnum = mysql_num_rows($query);
if($resultnum > 0) {
while($linha=mysql_fetch_array($query)) { //
$projeto = $linha["projeto"];
$cidade = $linha["cidade"];
$imovel = $linha["tipo_imovel"];
$area = $linha['area'];
$fase = $linha["fase_obra"];
$valor = $linha["valor"];
echo "<ul>";
echo "<li>$projeto</li>"."<li>$cidade</li>"."<li>$imovel</li>"."<li>$area"."m²</li>"."<li>$fase</li>"."<li>$valor</li>";
echo "</ul>";
}
echo "<a href=\"java script:parent.history.back();\">voltar</a>";
}else{
echo "nada encontrado";
}
}
?>por exemplo
se eu nao escolher Valor e a area ele da um erro
Notice: Undefined variable: maximo in C:\wamp\www\testes\avancada.php on line 45
Notice: Undefined variable: minimo in C:\wamp\www\testes\avancada.php on line 45
Notice: Undefined variable: max in C:\wamp\www\testes\avancada.php on line 72
Notice: Undefined variable: min in C:\wamp\www\testes\avancada.php on line 72
q sao as linhas do valor e da area =//
alguem poderia me dar uma ajuda??
agradeço desde ja! =D
Edição feita por: KaitoO, 26/03/2009, 16:20.










