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

Consultar el siguiente registro

Estas en el tema de Consultar el siguiente registro en el foro de Mysql en Foros del Web. Hola, he aqui el problema: Estoy elaborando un sistema de reservaciones de autos, se introduce los datos: locacion, fechas,... El siguiente paso es, seleccionar un ...
  #1 (permalink)  
Antiguo 29/10/2009, 20:49
 
Fecha de Ingreso: enero-2006
Ubicación: Cancún
Mensajes: 39
Antigüedad: 18 años, 3 meses
Puntos: 0
Consultar el siguiente registro

Hola, he aqui el problema:

Estoy elaborando un sistema de reservaciones de autos, se introduce los datos: locacion, fechas,... El siguiente paso es, seleccionar un tipo de auto para la reserva... Hasta aqui todo bien...

Tengo una tabla llamada "clases" que se refiere a las clases de autos (ej. Fullsize Van, All, Economy, Midsize,...) la cuestion aqui es que, cuando yo selecciono una, tengo que poner un "upgrade" a una clase mayor pero, las clases se encuentran con diferentes numeros de id. y no siempre van correlativas, esto depende de la fecha y de los resultados que arroje dicha consulta, la pregunta es: como podría yo saber (y desplegar) cual registro sigue despues de uno que se haya seleccionado???

Gracias de antemano y espero haberme explicado
__________________
[FONT="Book Antiqua"]Me llaman Castillo, Lex Castillo...[/FONT]
  #2 (permalink)  
Antiguo 30/10/2009, 05:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consultar el siguiente registro

La teoria de las bases de datos relacionales dice que el orden de inserción de los registros no debe ser relevante.... y como bien dices los id no siempre son correlativos...

Luego lo que necesitas es un criterio de ordenación.

Cita:
como podría yo saber (y desplegar) cual registro sigue despues de uno que se haya seleccionado???

Si tienes un criterio de ordenación luego es facil

Digamos que el campo que ordena se llama "campocriterio"

Luego si "campocriterio=XX" en el registro selecionado la siguiente consulta tedará el siguiente

Código sql:
Ver original
  1. SELECT *
  2. FROM tutabla
  3. WHERE campocriterio>"XX"
  4. LIMIT 1

y esta el anterior

Código sql:
Ver original
  1. SELECT *
  2. FROM tutabla
  3. WHERE campocriterio<"XX"
  4. LIMIT 1

Quim

Última edición por quimfv; 30/10/2009 a las 06:11
  #3 (permalink)  
Antiguo 30/10/2009, 05:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consultar el siguiente registro

Me parece que estás entremezclando dos conceptos diferentes:
Por un lado, cuando hablas de clases, estoy suponiendo que estás hablando de una aplicación desarrollada en POO. En este caso, cada instancia de Vehículo tiene una identidad y atributos que le son propios, uno de los cuales actúa de ID. El cómo manejes eso, es asunto de la aplicación y en nada incide en la base de datos. El ordenamiento dependerá del tipo de colecciones usadas para almacenarlos, y los métodos de búsqueda le son propios.
Por otro lado, estás hablando de registros de la base, en los cuales pareciera que usas un ID que no es el mismo usado en la aplicación. En este punto hay que entender que el orden no es estable a menos que uses ID numéricos autoincrementales, ya que el ordenamiento físico de los registros de una base de datos depende de su PK. En todo caso pueden existir múltiples formas de ordenamiento aparente cuando se usan además otros índices.
El problema que parece surgir de esto es que no has compatibilizado las dos formas de identificación de las instancias. O usas los ID de los vehículos como PK o usas las PK como ID en las clases, pero de lo contrario deberás hacer consultas de identificación del vehículo por otros medios (patente o placa), o de lo contrario identificar y obtener el siguiente registro no será posible.

¿Podrías dar un poco más de detalle de cómo se compatibilizan las do cosas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 30/10/2009, 10:19
 
Fecha de Ingreso: enero-2006
Ubicación: Cancún
Mensajes: 39
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Consultar el siguiente registro

Mira, la estructura de la tabla esla siguiente:

id | clase | nivel
1 | Fullsize Van | 10
2 | Fullsize SUV | 8
4 | Economy | 1
5 | Midsize | 4
6 | Speciality | 11
7 | All Terrain | 6
8 | Minivan | 9
9 | Compact | 2
10 | Compact Automatic | 3
11 | Fullsize | 5
12 | SUV | 7
13 | Luxury | 12

(espero se entienda bien)

La cosa es, que son 3 pasos a seguir:

1: Seleccion de datos generales: Fechas, Locacion, horario (de recepcion y entrega)

2: Seleccion del auto: Aqui es dependiendo de las fechas seleccionadas, sera la "clase de auto" que aparecera listado, o sea que, no podrian ser siempre un consecutivo de ID's de los registros de la estructura de arriba ni del "nivel" que les puse para este fin

3: Desplegar el auto seleccionado y ademas un "upgrade" a una clase mayor, que vendria siendo lo que pregunto, saber cual clase sigue, despues de la seleccionada al azar por el usuario

Espero me haya explicado mejor y GRACIAS nuevamente
__________________
[FONT="Book Antiqua"]Me llaman Castillo, Lex Castillo...[/FONT]
  #5 (permalink)  
Antiguo 02/11/2009, 07:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consultar el siguiente registro

No se entiende como relacionas fechas y autos....

Quim
  #6 (permalink)  
Antiguo 05/11/2009, 07:59
 
Fecha de Ingreso: enero-2006
Ubicación: Cancún
Mensajes: 39
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Consultar el siguiente registro

Hola otra vez, aqui les dejo la estructura de las 2 tablas que uso y necesito enlazar como mencione antes.

TABLA CLASES:

id | clase | nivel
1 | Fullsize Van | 10
2 | Fullsize SUV | 8
4 | Economy | 1
5 | Midsize | 4
6 | Speciality | 11
7 | All Terrain | 6
8 | Minivan | 9
9 | Compact | 2
10 | Compact Automatic | 3
11 | Fullsize | 5
12 | SUV | 7
13 | Luxury | 12

TABLA TARIFAS:

id
idCiudad
idLocacion
idClase
precioDiario
preciofinSemana
preciosemanal
preciomensual
fechaInicio
fechaFin

GRACIAS nuevamente =)
__________________
[FONT="Book Antiqua"]Me llaman Castillo, Lex Castillo...[/FONT]
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 19:59.