Foros del Web » Programando para Internet » ASP Clásico »

web de una inmobiliaria

Estas en el tema de web de una inmobiliaria en el foro de ASP Clásico en Foros del Web. Hola chic@s, aquí estoy de nuevo pero con otro tema diferente. Es muy posible que en mi curro me llegue un nuevo trabajo sobre una ...
  #1 (permalink)  
Antiguo 06/11/2006, 04:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
web de una inmobiliaria

Hola chic@s,
aquí estoy de nuevo pero con otro tema diferente. Es muy posible que en mi curro me llegue un nuevo trabajo sobre una inmobiliaria pequeña que se dedica al alquiler de apartamentos. Este sitio web tendría que seguir estos pasos:

1. Visualizar una página donde estén todos los apartamentos. Aquí estarían las fotos de lo apartamentos en pequeño con una breve descripción.
2. Cuando pulsas en una de esas fotos, vas a otra página donde se ve la foto más grande y la información se amplía: características, servicios...
3. Posiblilidad de pulsar en un botón (disponibilidad) para que te salga una ventana con un calendario con los días que está libre ese apartamento.
4. Posibilidad de calcular cuanto te costaría el apartamento de tal fecha a tal fecha.
5. Botón para hacer la reserva del apartamento. Esto por medio de una pasarela virtual y ya me estoy informando.
6. El cliente tiene que tener la posibilidad de ir actualizando la web añadiendo más fotos con su información.


El caso es que sé que para hacer todo esto hace falta trabajar con bases de datos, asp (en mi caso) y no sé que más, y claro, yo en esto como que no me manejo muy bien y estoy un poco asustada. Os pido ayuda para que me podáis guiar un poquito e indicar los pasos que debo seguir para hacer todo esto. Ah! y en cuanto tiempo sería lo normal en hacer un sitio como este?

Muchas gracias y perdón por liarme tanto,

Itxaso
  #2 (permalink)  
Antiguo 06/11/2006, 14:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Y cómo de cuánto estamos hablando?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/11/2006, 15:18
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
No, no, creo que me has entendido mal o me he explicado mal. Yo no quiero que nadie me haga el trabajo . Lo que quiero es que me indiquéis poco a poco las pautas que debo seguir para hacerlo. Me interesa de verdad aprender como se hace pero haciéndolo yo. Lo único es que no sé exactamente por donde empezar. Indicaros que tendría que utilizar access y asp.

Saludos,

Itxaso
  #4 (permalink)  
Antiguo 06/11/2006, 23:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
1. Visualizar una página donde estén todos los apartamentos. Aquí estarían las fotos de lo apartamentos en pequeño con una breve descripción.
Hazte una funcion Listar donde abres un recordset trayendo los campos que necesites, yo regresaria un arreglo con getRows(); iteras ese arreglo creando tu HTML.
Código:
ds = Listar([argumentos])
if isArray(ds) then
  for i = 0 to uBound(ds, 2)
  %>
   <div>
      <%=ds(1,i)%><!--Este es el nombre-->
   </div>
    <%
  next
end if
Cita:
2. Cuando pulsas en una de esas fotos, vas a otra página donde se ve la foto más grande y la información se amplía: características, servicios...
Basado en el id (ejemplo anterior, supóngase ds(0,1) ), construye un link a una página de detalles que mediante querystring le pases ese id, mediante ese id puedes hacer una llamada a un método Obtener(), que te regrese todos los datos que necesites de tu apartamento (sería muchísimo mas sencillo si encapsulas estos métodos en una clase, así tienes tus propiedades a la mano).

Cita:
3. Posiblilidad de pulsar en un botón (disponibilidad) para que te salga una ventana con un calendario con los días que está libre ese apartamento.
Necesitas abstraer este concepto, para mi, esta es una tabla más que relaciona un id con una o más fechas.

Cita:
4. Posibilidad de calcular cuanto te costaría el apartamento de tal fecha a tal fecha.
Una tabla de tarifas? y otra id_departamento | id_tarifa ??? no se, mas importante que la solucion es el planteamiento del problema.

Cita:
5. Botón para hacer la reserva del apartamento. Esto por medio de una pasarela virtual y ya me estoy informando.
Bien, a seguir investigando entonces!

Cita:
6. El cliente tiene que tener la posibilidad de ir actualizando la web añadiendo más fotos con su información.
- Sistema de login de usuarios
- Altas, bajas, cambios de usuario
- Permisos de usuario?
- Altas, bajas, cambio de apartamentos
- Sistema de upload

Guía de Estudio:

- Normalización de bases de datos relacionales
http://www.programacion.com/bbdd/articulo/bbdd_disenyo/
- Conexiones a base de datos desde ASP
www.connectionstrings.com
- Manejo de Recordsets:
http://www.aspfacil.com/articulos/040401.asp
- Entendiendo el método GetRows()
http://www.w3schools.com/ado/met_rs_getrows.asp
- Tutorial de SQL, nunca está de más
http://www.desarrolloweb.com/manuales/9/
- Xelupload
http://www.aspfacil.com/articulos/07092001.asp
- El objeto command es tu amigo
http://www.aspfaq.com/params.htm

Cualquier consulta 24/7 www.google.com

Happy Programming
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Última edición por u_goldman; 06/11/2006 a las 23:24
  #5 (permalink)  
Antiguo 07/11/2006, 02:22
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracias por toda la información, de verdad que te lo agradezco. Ojalá sea capaz de sacarlo adelante poco a poco.

saludos,

Itxaso
  #6 (permalink)  
Antiguo 07/11/2006, 06:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola de nuevo,
aquí ando molestando otra vez. He empezado a hacer una prueba para el tema de la web de la inmobiliaria y enseguida me ha surgido un problema.

Tengo una base de datos llamada propiedades con los siguientes campos:
- id
- foto
- plazas
- zona
- superficie
- descripcion

He creado una página llamada general.asp donde me muestra todos los apartamentos que tengo en mi base de datos. He puesto lo siguiente:

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/occoninmo.asp" -->
<%
Dim Rsapartam
Dim Rsapartam_numRows

Set Rsapartam = Server.CreateObject("ADODB.Recordset")
Rsapartam.ActiveConnection = MM_occoninmo_STRING
Rsapartam.Source = "SELECT *  FROM propiedades  ORDER BY id"
Rsapartam.CursorType = 0
Rsapartam.CursorLocation = 2
Rsapartam.LockType = 1
Rsapartam.Open()

Rsapartam_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Rsapartam_numRows = Rsapartam_numRows + Repeat1__numRows
%>
Ahora la idea es que cuando pinche en una foto me lleve a la página ficha.asp donde me muestre una información más amplia de ese apartamento. Cuando pincho en por ejemplo la foto1 me muestra la foto1 pero es que cuando pincho también en la foto2 también me muestra la foto1 en lugar de la foto2.

En la página ficha.asp tengo lo siguiente:

Código HTML:
<%
Dim Rsficha
Dim Rsficha_numRows

Set Rsficha = Server.CreateObject("ADODB.Recordset")
Rsficha.ActiveConnection = MM_occoninmo_STRING
Rsficha.Source = "SELECT *  FROM fotos  WHERE id=" + Replace(Rsficha__varid, "'", "''") + ""
Rsficha.CursorType = 0
Rsficha.CursorLocation = 2
Rsficha.LockType = 1
Rsficha.Open()

Rsficha_numRows = 0
%> 
que estoy haciendo mal? Gracias de antemano,

Itxaso
  #7 (permalink)  
Antiguo 07/11/2006, 12:24
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
La verdad que no entendi nada
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 08/11/2006, 02:10
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola a todos,
esta vez os escribo para deciros que ya conseguí que me funcionará lo de la foto. Me faltaba poner lo siguiente:

Código:
a href="ficha.asp?idvar=<%=(Rsapartam.Fields.Item("id").Value)%
Espero que os sirva de algo.

saludos,

Itxaso
  #9 (permalink)  
Antiguo 08/11/2006, 11:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Perdonar que os moleste tantas veces pero sigo con el tema de la inmobiliaria y ahora no consigo crear un calendario donde me indique qué días está libre el apartamento y como hacer que los días que están ocupados tengan un color diferente. He estado mirando por el foro varias posibilidades y mi problema es que aparte de que no me funciona nada de lo que he probado hay cosas que no entiendo.

Como debo crear el calendario, con javascript y que luego llame a mi base de datos? y si es así, como lo hago? Ni siguiera sé si en mi tabla he metido los campos correctos:

- Id
- Mes (enero, febrero...)
- Disponibilidad (activado, desactivado)
- Precio


Podéis decirme algo? Gracias de nuevo y perdón por las molestias

Itxaso
  #10 (permalink)  
Antiguo 10/11/2006, 05:50
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Por favor una ayudita que me estoy volviendo loca con esto.

Gracias,

Itxaso
  #11 (permalink)  
Antiguo 10/11/2006, 06:10
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Cita:
Iniciado por itxaso Ver Mensaje
...Ni siguiera sé si en mi tabla he metido los campos correctos:

- Id
- Mes (enero, febrero...)
- Disponibilidad (activado, desactivado)
- Precio
¿Los apartamentos se alquilan por meses?. ¿No existe la posibilidad de alquilarlos por quincenas, o incluso por fines de semana?.

Yo en lugar del campo "Mes", crearía dos campos: "FechaInicial" y "FechaFinal", que cubrirían los periodos inicial y final del alquiler.

Respecto al resto de la pregunta, aquí tienes un ejemplo. Simplemente, los días que estuvieran libres (fuera de ese periodo incial y final), les pones un color, y listo. Es cuestión de usar algún que otro condicional.

Salu2
  #12 (permalink)  
Antiguo 10/11/2006, 09:29
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola 3pies, primero gracias por contestar. En este caso estoy haciendo que los apartamentos se alquilen por mes porque estoy haciendo una prueba pero supongo que si me sale haciéndolo por mes, también me saldrá por día, al menos eso espero. Voy a ver con lo que me dices si consigo algo y os dejo de molestar y te cuento.

Muchas gracias y saludos,

Itxaso
  #13 (permalink)  
Antiguo 10/11/2006, 11:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Iniciado por itxaso Ver Mensaje
Perdonar que os moleste tantas veces pero sigo con el tema de la inmobiliaria y ahora no consigo crear un calendario donde me indique qué días está libre el apartamento y como hacer que los días que están ocupados tengan un color diferente. He estado mirando por el foro varias posibilidades y mi problema es que aparte de que no me funciona nada de lo que he probado hay cosas que no entiendo.

Como debo crear el calendario, con javascript y que luego llame a mi base de datos? y si es así, como lo hago? Ni siguiera sé si en mi tabla he metido los campos correctos:

- Id
- Mes (enero, febrero...)
- Disponibilidad (activado, desactivado)
- Precio


Podéis decirme algo? Gracias de nuevo y perdón por las molestias

Itxaso
Además de lo que ya te dijo 3pies existe alguna razón por la que "activado" sea una propiedad de la disponibilidad y no del apartamento? de la manera que lo veo, un apartamento puede estar activo o no, y la disponibilidad se cuese aparte, claro es sólo mi opinión viendo solo una pequeña parte del problema.

Salud que es viernes todo el día
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 10/11/2006, 12:25
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Yo aún rizo más el rizo (por llevarle la contraria al maestro U_G )...

Creo que hasta te sobraría el campo "disponibilidad", porque se supone que todo apartamento que no está alquilado entre esa "FechaIncial" y "FechaFinal", es que está disponible para ser alquilado ¿no?.

Salu2
  #15 (permalink)  
Antiguo 10/11/2006, 12:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Es totalmente cierto, aunque creo que siempre es buena costumbre tener algún tipo de campo prendido/apagado para todo administrador de contenidos, por eso la sugerencia de dejarlo como propiedad del apartamento, aunque sí, propiamente hablando no sería disponibilidad, ya que se manejaría como lo apunta ud, distinguido trípode viviente

Salud!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #16 (permalink)  
Antiguo 10/11/2006, 12:46
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Y qué ocurre cuando un departamento no está alquilado pero está en obra? (remodelación, pintura, etc)

o sea, está disponible para alquilar pero no para ser habitado en estos momentos
__________________
...___...
  #17 (permalink)  
Antiguo 10/11/2006, 13:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Entonces estará disponible hasta que termine la obra, disponible sí entre fecha inicial y fecha final
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 12/11/2006, 10:55
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Cita:
Iniciado por u_goldman Ver Mensaje
...distinguido trípode viviente

Salud!
Eihhh, que yo soy español, no senegalés
  #19 (permalink)  
Antiguo 12/11/2006, 12:28
Avatar de epa2  
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años, 2 meses
Puntos: 9
¡ehi itxaso! ¿como llevas tu trabajo? tengo curiosidad con este mensaje...

suerte y ya me dirás

nos vemos por la feria del tocino
__________________

***Aprendiz de todo y maestro de nada***
  #20 (permalink)  
Antiguo 16/11/2006, 16:04
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 19 años, 2 meses
Puntos: 0
itxaso : quizas quieras hacer algo asi??? te envio el vinculo para que veas.

cualquier cosa avisame y te puedo tirar algunas ayuditas. saludos

http://www.alquimiaturismo.com.ar/sp.../consulta1.asp
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #21 (permalink)  
Antiguo 17/11/2006, 02:16
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola a todos, la verdad es que no lo llevo nada bien. Sigo atascada con el temita y ya me estoy desesperando. Debo ser más corta de lo que creía porque no consigo avanzar. Todavía no he conseguido crear el calendario que me marque los días ocupados y no ocupados de distinto color. Por cierto Cristianf, esa es la clase de calendario que necesitaría hacer.
En mi base de datos he creado dos tablas que se llaman una meses y la otra días para luego crear dos desplegables y poder seleccionar las fechas que se quierer reservar(fecha de entrada y salida) pero nada, tampoco funciona.
La otra vez estuve con mi jefe y le comenté que mi programación era muy básica y que no llegaba a más(soy diseñadora y no programadora y lo poco que sé lo he hecho por mi cuenta) y él la verdad es que se portó muy bien. Intentó explicarme como sería el tema pero el problema es llevarlo a cabo.

De todas formas voy a seguir intentándolo y a ver si consigo llegar al punto 3 (el que indiqué en mi primer post).

Gracias a todos por vuestro interés y ayuda. Seguro que vuelvo a aparecer por aquí para volveros a molestar . Pero de momento no me rindo. Tengo que conseguirlo.

Saludos,

Itxaso
  #22 (permalink)  
Antiguo 20/11/2006, 03:56
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola a todos,
Bueno ya vengo de nuevo a daros la lata con el temita. Mira que he estado probando y probando de todo y nada, no hay forma de que me salga, me cuesta más de lo que creía. Si os parece bien voy a ir indicando paso a paso todo lo que he hecho y a ver si me podéis ayudar.

Paso 1: Creación de la base de datos. He creado una tabla que se llama inmo con los siguientes campos: id, apartamentos, zona, plazas, fotos y descripción.

Paso 2: General.asp
Es la página donde se visualizan todos los apartamentos que hay en la base de datos. Aquí hago la llamada a la tabla inmo para que me muestre los apartamentos con sus datos.

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/occoninmo.asp" -->
<%
Dim Rsgeneral
Dim Rsgeneral_numRows

Set Rsgeneral = Server.CreateObject("ADODB.Recordset")
Rsgeneral.ActiveConnection = MM_occoninmo_STRING
Rsgeneral.Source = "SELECT *  FROM inmo  ORDER BY cint (id)"
Rsgeneral.CursorType = 0
Rsgeneral.CursorLocation = 2
Rsgeneral.LockType = 1
Rsgeneral.Open()

Rsgeneral_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Rsgeneral_numRows = Rsgeneral_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
  <% 
While ((Repeat1__numRows <> 0) AND (NOT Rsgeneral.EOF)) 
%>
    <table width="600" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="121" rowspan="3"><div align="center">
		<a href="ficha.asp?idvar=<%=(Rsgeneral.Fields.Item("id").Value)%>">
<img src="images/images_tx/<%=(Rsgeneral.Fields.Item("fotos").Value)%>" width="150" height="113" border="0" /></a></div></td>
        <td>&nbsp;</td>
        <td bgcolor="#FFFF99"><span class="Estilo6"><%=(Rsgeneral.Fields.Item("apartamentos").Value)%></span></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td width="19">&nbsp;</td>
        <td width="460"><span class="Estilo1">Plazas:  <%=(Rsgeneral.Fields.Item("plazas").Value)%><br />
          Zona: <%=(Rsgeneral.Fields.Item("zona").Value)%><br />
        </span></td>
      </tr>
      <tr>
        <td><div align="center"></div></td>
        <td colspan="2"><div align="right"><span class="Estilo4">Disponibilidad</span></div></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2">&nbsp;</td>
      </tr>
    </table>
  <% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  Rsgeneral.MoveNext()
Wend
%>

</form>
</body>
</html>
<%
Rsgeneral.Close()
Set Rsgeneral = Nothing
%>
Paso 3: Ficha.asp
Esta página muestra el apartamento que ha pinchado el usuario con una descripción amplia (Esta parte ya me funciona).
Aparte tiene que mostrar un formulario con dos desplegables. Uno de fecha de entrada y otra de salida. (es aquí donde me quedo bloqueada). Para esto en mi base de datos he creado 2 tablas, una se llama meses (enero, febrero,…) y la otra días (1,2,3,…). Y tiene el siguiente código:

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/occoninmo.asp" -->
<%
Dim Rsficha__varid
Rsficha__varid = "1"
If (request.querystring("idvar") <> "") Then 
  Rsficha__varid = request.querystring("idvar")
End If
%>
<%
Dim Rsficha
Dim Rsficha_numRows

Set Rsficha = Server.CreateObject("ADODB.Recordset")
Rsficha.ActiveConnection = MM_occoninmo_STRING
Rsficha.Source = "SELECT *  FROM inmo  WHERE id=" + Replace(Rsficha__varid, "'", "''") + "  ORDER BY cint (id)"
Rsficha.CursorType = 0
Rsficha.CursorLocation = 2
Rsficha.LockType = 1
Rsficha.Open()

Rsficha_numRows = 0
%>
<%
Dim Rsfechas
Dim Rsfechas_numRows

Set Rsfechas = Server.CreateObject("ADODB.Recordset")
Rsfechas.ActiveConnection = MM_occoninmo_STRING
Rsfechas.Source = "SELECT *  FROM dias"
Rsfechas.CursorType = 0
Rsfechas.CursorLocation = 2
Rsfechas.LockType = 1
Rsfechas.Open()

Rsfechas_numRows = 0
%>
<%
Dim Rsfechas2
Dim Rsfechas2_numRows

Set Rsfechas2 = Server.CreateObject("ADODB.Recordset")
Rsfechas2.ActiveConnection = MM_occoninmo_STRING
Rsfechas2.Source = "SELECT *  FROM meses"
Rsfechas2.CursorType = 0
Rsfechas2.CursorLocation = 2
Rsfechas2.LockType = 1
Rsfechas2.Open()

Rsfechas2_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<style type="text/css">
<!--
.Estilo1 {
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.Estilo3 {color: #003399}
-->
</style>
<script type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
</head>

<body>
<table width="722" border="0" cellspacing="0" cellpadding="0">
  <!--DWLayoutTable-->
  <tr>
    <td height="227" colspan="2" valign="top"><img src="images/images_tx/<%=(Rsficha.Fields.Item("fotos").Value)%>" width="300" height="225" border="1" /></a></td>
  <td valign="top" bgcolor="#FFFFCC"><div align="center"></div></td>
  <td valign="top" bgcolor="#FFFFCC"><div align="center"><span class="Estilo1"><br />
        <%=(Rsficha.Fields.Item("Descripcion").Value)%></span></div></td>
  </tr>
  <tr>
    <td width="146" height="19"><!--DWLayoutEmptyCell-->&nbsp;</td>
    <td width="156">&nbsp;</td>
    <td width="4">&nbsp;</td>
    <td width="416"><div align="center"></div></td>
  </tr>
  <tr>
    <td height="15" bgcolor="#FFCC00"><div align="center" class="Estilo1"><a href="general.asp">volver</a></div></td>
    <td height="15" colspan="2"><div align="center"></div></td>
    <td height="15"><div align="center" class="Estilo1 Estilo3" onclick="MM_openBrWindow('calendario.asp','','width=180,height=180')"><a href="#">disponibilidad</a></div></td>
  </tr>
</table>
<p><span class="Estilo1">Selecciona las fechas que deseas reservar este apartamento :</span></p>
<form id="form2" name="form2" method="post" action="">
  <table width="400" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="115" class="Estilo1">Fecha de entrada: </td>
      <td width="42"><label>
        <select name="txtdiaentra">
          <%
While (NOT Rsfechas.EOF)
%>
          <option value="<%=(Rsfechas.Fields.Item("dias").Value)%>" ><%=(Rsfechas.Fields.Item("dias").Value)%></option>
          <%
  Rsfechas.MoveNext()
Wend
If (Rsfechas.CursorType > 0) Then
  Rsfechas.MoveFirst
Else
  Rsfechas.Requery
End If
%>
        </select>
      </label></td>
      <td width="29">&nbsp;</td>
      <td width="214">
	  <select name="txtmesentra">
        <%
While (NOT Rsfechas2.EOF)
%>
        <option value="<%=(Rsfechas2.Fields.Item("meses").Value)%>" ><%=(Rsfechas2.Fields.Item("meses").Value)%></option>
        <%
  Rsfechas2.MoveNext()
Wend
If (Rsfechas2.CursorType > 0) Then
  Rsfechas2.MoveFirst
Else
  Rsfechas2.Requery
End If
%>
      </select>	  </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td class="Estilo1">Fecha de salida : </td>
      <td>
	  <select name="txtdiasalida" id="txtdiasalida">
        <%
While (NOT Rsfechas.EOF)
%>
        <option value="<%=(Rsfechas.Fields.Item("dias").Value)%>" ><%=(Rsfechas.Fields.Item("dias").Value)%></option>
        <%
  Rsfechas.MoveNext()
Wend
If (Rsfechas.CursorType > 0) Then
  Rsfechas.MoveFirst
Else
  Rsfechas.Requery
End If
%>
      </select></td>
      <td>&nbsp;</td>
      <td>
      <select name="txtmesalida">
        <%
While (NOT Rsfechas2.EOF)
%>
        <option value="<%=(Rsfechas2.Fields.Item("meses").Value)%>" ><%=(Rsfechas2.Fields.Item("meses").Value)%></option>
        <%
  Rsfechas2.MoveNext()
Wend
If (Rsfechas2.CursorType > 0) Then
  Rsfechas2.MoveFirst
Else
  Rsfechas2.Requery
End If
%>
      </select></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="3"><label>
        <input type="submit" name="Submit" value="Enviar" />
      </label></td>
    </tr>
  </table>
</form>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
<%
Rsficha.Close()
Set Rsficha = Nothing
%>
<%
Rsfechas.Close()
Set Rsfechas = Nothing
%>
<%
Rsfechas2.Close()
Set Rsfechas2 = Nothing
%>
De momento he llegado hasta aquí. Así que como veis no he conseguido hacer gran cosa y todavía me falta el tema del calendario. Bueno, os pido otra vez y lo siento que me ayudéis y a ver si esta vez lo consigo poco a poco.

Muchas gracias por todo,

Itxaso
  #23 (permalink)  
Antiguo 20/11/2006, 05:03
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
¿Por qué desestimaste crear los campos FechaInicial (o Fecha_de_entrada), y FechaFinal (o Fecha_de_salida), para tener controlados los periodos de alquiler de los apartamentos?.

¿Qué pasará cuando cambies de año?. Si tienes una tabla de meses y otra de días, ¿Cómo sabrás si estamos hablando del 10 de julio de 2007, del 10 de julio de 2008, o del 10 de julio de 1876?.

En la tabla inmo, que sería la que contiene la descripción de cada apartamento, pondría un nuevo campo: localidad, por si la inmobiliaria tiene apartamentos a disposición de la gente, en distintas localidades (si tu inmobiliaria solo alquila en "Villarriba", pues incluyes también ese campo, así puedes vender esa aplicación a más clientes, con menos "trastornos").

Como supongo que cada apartamento tendrá un precio diferente, en esa misma tabla también incluiría tres campos más, que serían los precios en temporada alta, media y baja (precio/día). En otra tabla llamada temporadas incluiría los periodos en los que se inicia cada temporada.

Ejemplo:
temporadaalta: 20/05 (a partir del 20 de mayo de cualquier año).
temporadamedia: 10/10 (a partir del 10 de octubre de cualquier año).
temporadabaja: 08/01 (a partir del 8 de enero de cualquier año).

Crearía también una tabla llamada alquileres (borraría la de meses y dias), con los campos siguientes:

id_apto: id del apartamento que se alquila.
fechainicial: fecha en la que empieza a computar el periodo de alquiler (1er día de alquiler), es decir, en la que se entra al apartamento.
fechafinal: fecha del último día de alquiler (este día también computa como periodo de alquiler). Al día siguiente, antes de las 12:00 del mediodía (o cuando estipule la empresa inmobiliaria), se debe dejar libre el apartamento.

[EDITADO]
Edito el post, porque pensando, incluiría otro campo que sería el precio total del alquiler durante ese periodo inicial y final, que aunque no es imprescindible, pues se puede obtener al vuelo, es preferible tenerlo grabado por si cambian las tarifas a posteriori, pues si queremos obtener el importe total "al vuelo" (precio/día según temporada x número de días), sin estar grabado en un campo de la BD, como el nuevo precio habría subido (se supone que los precios suben), los cálculos estarían inflados, y no serían reales.

No sé si me he explicado... (es lunes, y todavía estoy "sobao").
[/EDITADO]

Con esas 3 tablas y con esos campos, podemos saber entre otras cosas:

Qué apartamento está alquilado, qué día se entra y que día se sale, el precio que tiene, si el apto. se alquila en temporada alta, media, baja, o incluso, si una parte de los días está alquilado en alta, otro en medio, u otro en baja. Por exclusión se podrá saber el primer día en el que estará disponible para su alquiler (el día siguiente de fechafinal). También podremos saber qué apartamentos están libres a día de hoy (20 de noviembre de 2006), buscando que la fecha de hoy no estuviese dentro del rango "fechainicial", y "fechafinal".

Puede que lo que te he dicho no sea lo mejor, por eso antes de hacer nada, lo ideal es que cojas un papel y lápiz, y empieces a apuntar posibles contingencias del tipo: ¿incluyo un mapa escaneado, con la ubicación del apartamento para facilitar el acceso al mismo al usuario que desea alquilarlo, y por tanto añado un campo a la tabla inmo, con la ruta de la imagen del mapa? (puestos a facilitar las cosas, yo lo incluiría, ...todo sea por "vender" o en este caso "alquilar"), y similares. De esa forma, también analizarás mentalmente el proceso de alquiler de un apartamento desde el punto de vista del cliente (el usuario que desea alquilar el apto.), y te darás cuenta de si necesitas tal o cual información para añadir a la BD.

Esta es una opinión de amateur, ya que no soy programador.

Suerte con ese trabajo.

A ver que opinan los gurús del foro...

Última edición por 3pies; 20/11/2006 a las 05:40
  #24 (permalink)  
Antiguo 20/11/2006, 05:27
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Muchas gracias 3pies, la verdad es que ahora tengo más claro lo que debo introducir en mi base de datos. Voy a probar con lo que me has dicho, aunque ahora no puedo porque estoy en el trabajo y me han encargado hacer una cosa, pero en cuanto pueda lo hago, eso seguro. No sé como agrareceros vuestra paciencia.

Ya os iré contando (como siempre)
Saludos,

Itxaso
  #25 (permalink)  
Antiguo 20/11/2006, 05:34
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Ojo, no te fies de mi palabra. Analiza mentalmente el proceso de alquiler de un apartamento, para saber con qué problemas te puedes encontrar, y con toda esa lista, montar las tablas y campos.

Así a bote pronto, he incluido los campos y tablas que te mencionaba en el post anterior, pero acabo de editar ese mensaje, porque me he dejado algo (y muchas más cosas que me dejo, seguro). Ya verás lo que he añadido.

Salu2
  #26 (permalink)  
Antiguo 30/11/2006, 02:38
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola a todos(otra vez),
Aquí estoy otra vez con lo de siempre, ya me quita hasta el sueño y no es broma. He seguido todos vuestros consejos pero no consigo avanzar. Me he quedado en la parte donde seleccionan las fechas de reserva del apartamento seleccionado. Estoy haciendo una prueba reservando solo por meses y he hecho lo siguiente:

1. Tengo creada una tabla (en access) llamada meses con los siguientes campos:

Cita:
- id-->autonumerico
- meses --> enero, febrero, marzo....
2. Otra tabla llamada reservas con los siguientes campos:

Cita:
- id -->autonumerico
- mesentrada -->texto
- mesalida -->texto
- disponibilidad -->si/no
4. En la página reservas.asp tengo creados 2 desplegables donde eliges de que mes a que mes quieres alquilar el apartamento.

Bien, la idea es que si elije por ejemplo de enero a febrero, consulte en la base de datos si está disponible o no. Si está disponible ingresa automaticamente ese dato (los meses que ha elegido) en la base de datos y le lleva a la página registro.asp y si no está disponible le dice en esa misma página que el apartamento no está disponible.

Como puedo hacer esto? Creo que tengo que usar la condición if pero no me sale.

Muchas gracias otra vez,

Itxaso
  #27 (permalink)  
Antiguo 04/12/2006, 05:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 167
Antigüedad: 20 años, 1 mes
Puntos: 0
Por favor una ayudita más. Ya sé que tal vez me estoy pasando pero sino no sé como solucionarlo.

Saludos,

Itxaso
  #28 (permalink)  
Antiguo 04/12/2006, 08:49
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Eso que planteas, ya es más de html, que de asp. Esta es una forma de hacerlo (aunque debe haber muchas más):

página llamada meses.asp
Código:
Desde: <select name="mesinicial">
<option value="1">Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
<option value="7">Julio</option>
<option value="8">Agosto</option>
<option value="9">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
Hasta: <select name="mesfinal">
<option value="1">Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
<option value="7">Julio</option>
<option value="8">Agosto</option>
<option value="9">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
<input type="button" onClick="javascript:window.location='meses.asp?mesinicial=' + mesinicial.options[mesinicial.selectedIndex].value + '&mesfinal=' + mesfinal.options[mesfinal.selectedIndex].value;" name="seleccionar" value="Consultar">
Si te fijas, eso te devolverá a la misma página (aunque puede ser cualquiera), y te aparecerá en la barra de direcciones el mes inicial (en número, del 1 al 12) y el final (en número, del 1 al 12). Tan solo tienes que recoger esos datos, y comprobar si están en la BD.

Tendrías que controlar también, que el mes inicial fuese siempre menor que el final, porque sino, serían periodos demasiado largos de alquiler, y como que no cuadra ¿verdad?. Aunque existe el periodo diciembre - enero, o noviembre - enero o febrero, que no entrarían ahí. Bueno, tu misma sácale punta al tema.

Ej: Mes inicial: 4 Mes final: 5 ---> correcto.
Ej: Mes inicial: 8 Mes final: 6 ---> incorrecto. ¿O se alquila por el periodo Agosto-junio del año siguiente?.

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:21.