Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Unos cuantos whiles y un if de por medio...
 Foro Bloqueado  Tema Bloqueado


Autor Temas
tiddydl
Starting Member

España
7 Posts
Mensajes - 01 Sep 2008 :  03:09:32  Ver Perfil  Enviar Email
Hola,
tengo un problemilla... resulta que tengo en una base de datos una tabla con una serie de registros (pueblos) y en otra otros registros (inmuebles), cada uno en un pueblo determinado y de un tipo determinado (chalet, apartamento...)
Lo que quiero es hacer una lista de pueblos y que, al entrar a la página, me seleccione los inmuebles según el tipo de inmueble y que en esa lista de pueblos me distinga (poniendole un "ESTE", por ejemplo) el pueblo donde existe ese tipo de inmueble.
Es decir, si tengo chalets en Madrid y Barcelona, que salga una lista de todas las ciudades pero la palabra "ESTE" al lado de Madrid y Barcelona.

El código que tengo (que no me va) es este:

<% Dim JRpueblos, con_inmuebles, SQLpueblos, tipo2
tipo2 = Request.QueryString("tipo2") 'aquí recoge el tipo de inmueble que busco
SQLpueblos = "SELECT * FROM pueblos"
Set con_inmuebles = Server.CreateObject("ADODB.Connection")
con_inmuebles.Open "inmuebles"
Set JRpueblos = Server.CreateObject("ADODB.Recordset")
JRpueblos.Open SQLpueblos, con_inmuebles, 2
%>

<table><tr><td>LISTA DE PUEBLOS</td></tr>
<%
While not JRpueblos.EOF
Response.Write "<tr><td>"&JRpueblos("nombre_del_pueblo")
Dim JRtipo2, sql
sql = "SELECT * FROM propiedades WHERE tipo='"&tipo2&"'"
Set JRtipo2 = Server.CreateObject("ADODB.RecordSet")
JRtipo2.Open sql, con_inmuebles, 2
While not JRtipo2.EOF
If JRtipo2("ID_del_pueblo") = JRpueblos("ID") Then
Response.Write"<b>ESTE</b>"
Else
Response.Write""
End If
JRtipo2.MoveNext
Wend

Response.Write "</td></tr>"
JRpueblos.MoveNext
Wend
%><tr><td>FIN DE LA TABLA</td></tr></table>

GRACIAS A TODOS!!

DonGato
Moderator

España
263 Posts
Posted - 01 Sep 2008 :  16:41:36  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
HE releeido varias veces tu mensaje y no entiendo que es lo que quieres hacer.
A ver, teoricamente quieres que te muestre una lista de pueblos y dentro de cada pueblo los inmueble del tipo que buscas, algo asi:
Madrid
- Chalet adosado
- Chalet con piscina
- Chalet adosado
- Chalet con parcela
...
...
Barcelona:
- Chalet adosado
- Chalet con parcela
...
...
Algo así es lo que buscas?
y la palabra "este" donde dices que va?

Vale, vuelvo a leerlo y creo que sé lo que quieres.
que te muestre una tabla con todos los pueblos que tienes, con la diferencia que donde haya inmuebles de los que estas buscando te los marque poniendo la palabra este.

De ser asi mas o menos este código que te presento te podría valer.
PD: falta cerrar las conexiones y elimnar los objetos que creamos.

<%
Dim JRpueblos, con_inmuebles, SQLpueblos, tipo2
tipo2 = Request.QueryString("tipo2") 'aquí recoge el tipo de inmueble que busco
SQLpueblos = "SELECT * FROM pueblos"
Set JRpueblos= Con.Execute(SQLpueblos)

%>
<table><tr><td>LISTA DE PUEBLOS</td></tr>
<%
While not JRpueblos.EOF
SQLInmuebles="select count (*) as cuantos FROM propiedades WHERE tipo='" &tipo2& " and ID_del_pueblo="&JRpueblos("ID_del_pueblo")
Set JRinmuebles= Con.Execute(SQLInmuebles)
Response.Write "<tr><td>"
if JRinmuebles("cuantos")>0 then
Response.Write "Este "
end if
JRinmuebles.close
Set JRinmuebles=nothing
Response.Write JRpueblos("nombre_del_pueblo")& "</td></tr>"
JRpueblos.MoveNext
Wend
%><tr><td>FIN DE LA TABLA</td></tr></table>

Edited by - DonGato on 01 Sep 2008 17:01:18Inicio Pagina

tiddydl
Starting Member

España
7 Posts
Posted - 02 Sep 2008 :  00:08:51  Ver perfil  Enviar e-mail
Perfecto DonGato!!!

Muchisimas gracias!!!!

No quiero ser pesado pero... una última pregunta... ¿Cómo funciona ese código?
como verás, soy aún algo novato en esto.

Gracias otra vez!!!

Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 02 Sep 2008 :  09:28:49  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
No te preocupes, te cuento:
<%
Dim JRpueblos, con_inmuebles, SQLpueblos, tipo2
tipo2 = Request.QueryString("tipo2") 'aquí recoge el tipo de inmueble que busco
SQLpueblos = "SELECT * FROM pueblos"
Set JRpueblos= Con.Execute(SQLpueblos)
%>
<table><tr><td>LISTA DE PUEBLOS</td></tr>
<%
While not JRpueblos.EOF
'lo que hace aqui es contar aquellas propiedades que sean del tipo de inmueble que buscas y que estén en el pueblo que el bucle recorre.
SQLInmuebles="select count (*) as cuantos FROM propiedades WHERE tipo='" &tipo2& " and ID_del_pueblo="&JRpueblos("ID_del_pueblo")
Set JRinmuebles= Con.Execute(SQLInmuebles)
Response.Write "<tr><td>"
' En el caso que cuantos sea mayor que 0, es que en ese pueblo hay inmuebles del tipo que buscas con lo que añadirá la palabra este delante del nombre del pueblo
if JRinmuebles("cuantos")>0 then
Response.Write "Este "
end if
JRinmuebles.close
Set JRinmuebles=nothing
Response.Write JRpueblos("nombre_del_pueblo")& "</td></tr>"
JRpueblos.MoveNext
Wend
%><tr><td>FIN DE LA TABLA</td></tr></table>

No sé si con esto que te comento queda explicado o necesitas mas informacion

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar