Tema: Busqueda
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2004, 05:56
Avatar de ludovico2000
ludovico2000
 
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 21 años, 6 meses
Puntos: 2
Este es un buscador para inmobiliaria, que trabaja sobre access.SON 3 ASP y 1 html. Primero, el código estrecha la búsqueda por provincia, y luego busca registros con los campos indicados por el usuario. Foto.htm es para mostrar fotos d los inmuebles, colocadas en el servidor, no en la base datos.

[El código de foto.htm lo pongo en la siguiente respuesta, por aquello de la longitud del mensaje]

**************provincia.asp:
<html>
<head>
<title>frame provincia cambia frame población etc.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" >
function saltarC()
{
parent.frames["FPoblaciones"].location.href = "poblacion.asp?elegidoC=" + ListaC.value
}
</script>
<%
Dim Conexion
Dim Cs
Dim PathBD

Set Conexion = Server.CreateObject("ADODB.Connection")
PathBD=Server.MapPath("../data/oferta.mdb")
Cs="Driver={Microsoft Access Driver (*.mdb)};"
Cs=Cs&"DBQ="&PathBD
conexion.ConnectionString=Cs
Conexion.Open

Dim SQL
Dim rs
SQL="SELECT DISTINCT Provincia FROM Inmueble"

Set rs=Conexion.Execute(SQL)
%>
</head>
<body bgcolor="#000000">
<p align="center"><font size="3" color="#ff6600">Indique una Provincia : </font><br>
<br>
<select name="ListaC" with=15 onChange="javascript:saltarC()">
<option>**Campo obligatorio**</option>
<% do while not rs.eof %>
<option value="<%=rs("Provincia")%>"><%=rs("Provincia")%></option>
<%rs.MoveNext()
Loop
%>
</select>

<%rs.Close%>
</p>
</body>
</html>


**************poblacion.asp:
<html>
<head>
<title>Frame población etc</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<SCRIPT LANGUAGE="JavaScript">
function saltarP()
{
parent.frames["FProvincias"].location.href = "foto.htm";
}

function comprobar()
{
var envio=true;

if (isNaN(document.forms.consulta.habs.value))
{alert ("Revise el número de habitaciones");
envio=false;
parent.frames["FProvincias"].location.href = "provincia.asp";
document.forms.consulta.habs.focus();
return;
};

if (isNaN(document.forms.consulta.euros.value))
{alert ("Revise el precio");
envio=false;
parent.frames["FProvincias"].location.href = "provincia.asp";
document.forms.consulta.habs.focus();
return;
};

if (document.forms.consulta.euros.value.indexOf(".") >= 0)
{alert ("Por favor, no ponga puntos en el precio");
envio=false;
parent.frames["FProvincias"].location.href = "provincia.asp";
return;
};

if (envio)
{document.forms.consulta.submit();
};
};

function puntos()
{
precio = document.forms.consulta.euros.value
var fin = document.forms.consulta.euros.value.length
var pto = precio.indexOf(".")
var a=precio.substring(0,pto)
var b=precio.substring(pto+1,fin)

if (document.forms.consulta.euros.value.indexOf(".") >= 0)
{
document.forms.consulta.euros.value = a + b;
}
}
</SCRIPT>


<%
Dim Conexion
Dim Cs
Dim PathBD

Set Conexion = Server.CreateObject("ADODB.Connection")
PathBD=Server.MapPath("../data/oferta.mdb")
Cs="Driver=Microsoft Access Driver (*.mdb);"
Cs=Cs&"DBQ="&PathBD
conexion.ConnectionString=Cs
Conexion.Open

provi=Request.QueryString("elegidoC")

SQL="SELECT DISTINCT Población FROM Inmueble WHERE ((Provincia)='" & provi & "');"


Set rs=Conexion.Execute(SQL)
%>
</head>
<body bgcolor="#000000">
<form name="consulta" method="post" action="responder.asp">
<p align="center"><font size="3" color="#ff6600">Indique una poblaci&oacute;n:</font>
<br>
<br>
<select name="pob">
<OPTION selected>indiferente</option>
<%Do while Not rs.EOF%>
<OPTION VALUE=<%=rs("Población")%>><%=rs("Población")%> </option>
<%rs.MoveNext
Loop
%>
</select>
<%rs.Close%>
<p align="center"><font size="3" color="#FF6600">Número mínimo de habitaciones:
</font>
<input type="text" name="habs" size=5>

<p align="center"><font size="3" color="#FF6600">Precio m&aacute;ximo:</font>
<input type="text" name="euros" size=10 onChange=puntos()>
<font size="3" color="#FF6600">€</font> <br>
<input type="hidden" name="prov" value="<%=Request.QueryString("elegidoC")%>">

</p>
<center>
<input type="button" name="envio" value="Enviar" onClick=saltarP(),comprobar()>
<input type="reset" name="borra" value="Borrar">
</center>
</form>
</body>
</html>

**************responder.asp:
<HTML>
<HEAD>
<TITLE>respuesta tanto si existe como si no un resultado</TITLE>
<script language="JavaScript" >
function saltar()
{
parent.frames["FProvincias"].location.href = "provincia.asp";
parent.frames["FPoblaciones"].location.href = "poblacion.asp";
}
</script>
</HEAD>
<body bgcolor="#0000cc">
<%
Dim Conex
Dim rs
Dim sSQL

Set Conex = Server.CreateObject("ADODB.Connection")
Conex.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../data/oferta.mdb"))

vprov=Request.form("prov")
vpob=Request.form("pob")
veuros=Request.form("euros")
vhabs=Request.form("habs")

if veuros = "" Then
veuros = "99999999999"
end if

if vhabs = "" Then
vhabs = "0"
end if
%>

<%
if vpob = "indiferente" Then
sSQL = "SELECT * FROM oferta WHERE ((oferta.Provincia)='"&vprov&"') AND ((oferta.Precio)<"&veuros&") AND ((oferta.Hab)>"&vhabs&") ORDER BY Precio"
else
sSQL = "SELECT * FROM oferta WHERE ((oferta.Provincia)='"&vprov&"') AND ((oferta.Población)='"&vpob&"') AND ((oferta.Precio)<"&veuros&") AND ((oferta.Hab)>"&vhabs&") ORDER BY Precio"
end if
%>

<%
Set rs = Conex.Execute(sSQL)

%>
<%if rs.eof then%>
<h3 align="center"> <font color="#ff6600">No hay datos que coincidan con su petición
</font></h3>
<center>
<input type="button" value="Nueva Búsqueda" onClick="saltar()">
</center>
<%else%>
<table border="0" width="100%">
<tr>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Código de foto</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Tipo</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Provincia</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Población</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Zona</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Precio (euros)</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Sup (m2)</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Hab</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Salón (m2)</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Cocina</font></th>
<th width="9%" valign="middle" align="center" bgcolor="#0000cc">
<font color="#ff6600">Baño</font></th>
</tr>
<%do while not rs.eof%>
<tr>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Fotos")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Tipo")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Provincia")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Población")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Zona")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Precio")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Sup (m2)")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Hab")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Salón (m2)")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Cocina")%></font></td>
<td width="9%" valign="middle" align="center" bgcolor="#FFFFFF">
<font color="#000000"><%=rs("Baño")%></font></td>
</tr>

<%rs.movenext
loop
rs.close
%>

</table>
<center><input type="button" value="Nueva Búsqueda" onClick="saltar()"></center>
<%
Conex.Close
Set rs = Nothing
Set Conex = Nothing
end if
%>
</body>
</html>


COMPARTIENDO, MEJORAMOS TODOS.