Cita:
Iniciado por ingleonidas
Morti, puse los echo (fijate si lo hice bien, como lo sugeriste)
Código PHP:
<?php //Esto es lo que devuelve segun los datos de la tabla de arriba
$sql = "SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id ";
if (isset($_POST['txtBusqueda'])) {
$sql .= " AND prueba.titulo LIKE '%" . $_POST['txtBusqueda'] . "%' ";
if (intval($_POST['selCiudad']) > 0) {
$sql .= " AND prueba.idciudad = '" . intval($_POST['selCiudad']) . "'";
}
if (intval($_POST['selAmbientes']) > 0) {
$sql .= " AND Habitaciones = '" . intval($_POST['selAmbientes']) . "'";
}
if (intval($_POST['precio']) > 0) {
$precio=$_POST['precio']; # ya esta el nombre asociado jaja
$ed=explode("-",$precio); #esto te crea un array con la separacion del rango GRACIAS, NO CONOCIA ESA PROPIEDAD
$precio1=$ed[0]; #obtienes el primer parametro del rango
$precio2=$ed[1]; #obtienes el segundo parametro del rango
echo "$precio";
$sql .= " AND precioVenta between $precio1 and $precio2 = '" . intval($_POST['precio']) . "'";
echo "$sql";
}
}
$sql .= " ORDER BY ciudades.nombre ASC";
echo "$sql";
$tabla = mysql_query($sql);
while ($registro = mysql_fetch_array($tabla)) {
?>
Lo que muestra para a) echo "$precio"; b) echo "$sql" (del between);
"mostrar todos": nada
"100000-200000": a) 100000-200000 ; b)
Código:
SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id AND prueba.titulo LIKE '%%' AND precioVenta between 100000 and 200000 = '100000'
"200000-300000": a) 200000-300000 ; b)
Código:
SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id AND prueba.titulo LIKE '%%' AND precioVenta between 200000 and 300000 = '200000'
y para el buscador total
Código PHP:
$sql .= " ORDER BY ciudades.nombre ASC";
echo "$sql";
tenemos como resultado:
"mostrar todos":
Código:
SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id AND prueba.titulo LIKE '%%' ORDER BY ciudades.nombre ASC
"100000-200000":
Código:
SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id AND prueba.titulo LIKE '%%' AND precioVenta between 100000 and 200000 = '100000' ORDER BY ciudades.nombre ASC
"200000-300000":
Código:
'SELECT prueba.*, ciudades.* FROM prueba, ciudades WHERE prueba.idciudad = ciudades.id AND prueba.titulo LIKE '%%' AND precioVenta between 200000 and 300000 = '200000' ORDER BY ciudades.nombre ASC
Espero responder a tu sugerencia.
Saludos cordiales
Leonidas
bueno
revisando los querys, usas el like pero no vienen datos (imagino porque no escribiste nada en los campos de búsqueda)
y en el between tienes esto
y en primera, comparas números contra cadenas según veo, y en segundo estas comparandolo dentro del between,
para que eso??
nos comentas
saludos