Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Comparar variables

Estas en el tema de Comparar variables en el foro de Bases de Datos General en Foros del Web. Estimados amigos colegas paso a comentarle mi duda. tengo una tabla de base de datos llamada Precios que tienen los siguientes campos Id_precios id_habitaciones ( ...
  #1 (permalink)  
Antiguo 05/11/2008, 08:14
Avatar de jakuam  
Fecha de Ingreso: abril-2007
Mensajes: 354
Antigüedad: 17 años, 7 meses
Puntos: 0
Comparar variables

Estimados amigos colegas paso a comentarle mi duda.

tengo una tabla de base de datos llamada Precios que tienen los siguientes campos

Id_precios
id_habitaciones
( este es la identificacion del la habitaciones que tiene el precio pra conbinar esta tabla con la tabla habitaciones)
precio
fecha1
fecha2


Paso a comentale la logica y conbinacion de tabla, se carga los datos de la habitaiones en la tabla habitaciones ejemplo id_habitacion=3 se le cargan todos los datos .
ahora a esa habitacion hay que cargarle los precio para diferentes fechas, entonces podes tenes 3 precios en diferentes fechas para esa habitacion con id_habitacion=3

Ahora mediante un formulario de busqueda filtro esa habitacion entre 2 fechas
fecha_busq_1 y fecha_busq_2 donde estas pueden caer entre 2 registro de diferentes id_precio,
Ejemplo

tengo en la tabla precio
[B]Id_precios=1
id_habitaciones=3
precio=130
fecha1=05/11/2008
fecha2=05/12/2008

[B]Id_precios=2
id_habitaciones=3
precio=180
fecha1=06/12/2008
fecha2=05/01/2009


la busqueda es entre fecha_busq_1= 02/12/2008 y fehca_busq_2= 20/12/2008 y

osea que la busqueda me cae entrre fecha de esos 2 registros.

bueno ahora lo que necesito hacer..
necestio que acomodar resultados de la busqueda de tal manera que me de los 2 precios osea
desde fecha_busq_1= 02/12/2008 hasta fecha2=05/12/2008(Id_precios=1) el precio=130 fecha1=06/12/2008 (Id_precios=2) hasta fecha_busq_2= 20/12/2008 el precio=180

como hago esto que clase o script puedo usar o como realizar he estando probando con comprar las fechas utilizando while y utilizando 2 consultas distintas a la tabla precio pero no he podido ..por favor necesito su ayuda.. gracias
__________________
Jakuam
Reserva Hoteles Online
Turismo San Rafael Mendoza
  #2 (permalink)  
Antiguo 05/11/2008, 08:24
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Comparar variables

tu logica creo que debe ser algo asi:

$sql="select * from precios where ($fecha_busq_1 or $fecha_busq_2) between fecha1,fecha2";

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 05/11/2008, 08:44
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: Comparar variables

Eso sacaría posibles resultados, la manera, a mi parecer, sería:

Código PHP:
$sql="
select 
 * 
from 
 precios 
where 
 ( 
  $fecha_busq_1 between fecha1 and fecha2
 or 
  $fecha_busq_2 between fecha1 and fecha2
 )
"

Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 05/11/2008, 09:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Comparar variables

Tema trasladado a Bases de Datos.
  #5 (permalink)  
Antiguo 05/11/2008, 09:35
Avatar de jakuam  
Fecha de Ingreso: abril-2007
Mensajes: 354
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comparar variables

gracias amigos..igual creo que no funciona de esa manera..ya que los rangos no estan bien restringidos por que pueden caer los dos en el mismo rango de un registro..yo lo que probe es hacer dos select.
$sql1="select * from precios, habitaiones where precios.id_habitaciones=habitaciones.id_hab";
$sql2="select * from precios, habitaiones where precios.id_habitaciones=habitaciones.id_hab";

despues hago las condiciones mendiante
paso las fechas a numeros con strtotime ejemplo (fecha1= strtotime ($row_sql1[fecha1]) y las comparo con un un if

Código PHP:

<?php do ?>
<?php 
if ( (fecha_busq_1<fecha1) && (fecha_busq_2<fecha2){
precio_2$row_sql2['precio'];}


<?
php while($row_sql2_..... ?>


<?php do ?>
<?php 
if ( (fecha_busq_1 >fecha1) && (fecha_busq_2<fecha2){
precio$row_sql1['precio'];}

 if ( (
fecha_busq_1 >fecha1) && (fecha_busq_1 <fecha2) && (fecha_busq_2>fecha2){
precio1$row_sql1['precio'];
precio2=$precio_2}

<?
php while($row_sql1_..... ?>
pero el precio 2 no me da el correcto me da el mismo que precio1, creo a que asi con if se puede hacer..
espero su ayuda gracias
__________________
Jakuam
Reserva Hoteles Online
Turismo San Rafael Mendoza
  #6 (permalink)  
Antiguo 05/11/2008, 12:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Comparar variables

¿Qué base de datos manejas? ¿Se trata de MySQL? Si es así, el problema son los campos fecha. Deberías cargar los datos de fecha1 y fecha2 en campos date y con el formato año-mes-día, es decir, 2008-05-11, por poner un ejemplo. Eso resolvería los problemas... Si en el formulario se introducen en otro orden, no será problema darles la vuelta para la consulta, pero en la base de datos deben estar como te digo. Ah, y olvídate del trabajo con PHP para esto: la base está preparada para dar respuesta a estas consultas.
  #7 (permalink)  
Antiguo 05/11/2008, 16:43
Avatar de jakuam  
Fecha de Ingreso: abril-2007
Mensajes: 354
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Comparar variables

estimado jurena si la base es mysql, necesito tu ayuda para armarlo ya que no debe quedar cabo sueltos como armar esa consulta a la base para que me ordene los datos mira este post que es lo que quiero hacer

www.forosdelweb.com/f18/calendario-reservas-php-637767/
__________________
Jakuam
Reserva Hoteles Online
Turismo San Rafael Mendoza
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 14:28.