Código PHP:
$contrato = $_POST['tipo_contrato'];
$vivienda = $_POST['tipo_vivienda'];
$ciudad = $_POST['ciudad'];
$sql = "SELECT id,ti,ci,di,tp,tc,ha,ba FROM propiedades WHERE 1 = 1 ";
if($contrato > 0)
$sql .= " AND tc = $contrato ";
if($vivienda > 0)
$sql .= " AND tp = $vivienda ";
if($ciudad > 0)
$sql .= " AND ci = $ciudad ";
$sql .= " ORDER BY id ASC ";
mysql_query($sql);
lo arregle, me di cuenta, tras dias,, de donde estaba el error, en mi tabla propiedades, los valores de tc ($contrato), tp ($vivienda), y ci ($ciudad), son varchar, y cuando los "pesco" son enteros. osea estaba comparando:un entero con un varchar, por eso no me funcionaba.
$contrato = $_POST['tipo_contrato'];
hice esto para que me pescara los valores de la tabla y lo asignara a una nueva variable, y con esa trabajo la sentencia SQL..
$resultcontrato = mysql_query("SELECT DISTINCT tc FROM propiedades",$link) or die (mysql_error());
$i=1; // es 1 por que tengo un select con otra variable en la posicion 0.
while($fila = mysql_fetch_array($resultcontrato)){
$contrato2[$i]=$fila['tc'];
if($i==$contrato){
$contrato3=$contrato2[$i];
}
$i++;
}
"contrato" se cambia por la variable que se desea, ciudad o vivienda en este caso.
MUCHAS GRACIAS A TODOS LOS QUE ME AYUDARON,, por lo menos aprendi...
GRACIAS STONE_NEO , HELACER