Foros del Web » Programando para Internet » PHP »

Alquiler de coches

Estas en el tema de Alquiler de coches en el foro de PHP en Foros del Web. Buenas noches , Vereis, estoy montando un sistema para un alquiler de coches, y me he cruzado con un problema, y es que tengo dos ...
  #1 (permalink)  
Antiguo 30/11/2014, 12:09
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Alquiler de coches

Buenas noches ,

Vereis, estoy montando un sistema para un alquiler de coches, y me he cruzado con un problema, y es que tengo dos tablas SQL, una llamada vehículos, que cuenta con un id cada vehículo y sus datos, y otra en la que se llama vehiculos_ocupados, que cuenta con el id_vehiculo, sede, fecha_entrega, hora_entrega, fecha_devolucion, hora_devolucion.

Y un buscador que lo que hace es imprimir con un while toda la lista de los coches, y mi duda viene aquí, mi cliente me ha pedido que si el vehículo estuviera ocupado en las fechas seleccionadas, que incluya alguna en la que esté ocupado, etc.. que no lo muestre para que no lo alquilen...

¿Cómo puedo hacer esto?


¡Un saludo y miles de gracias! :)

PD: Publico aquí el post, ya que anteriormente lo he publicado en el de MYSQL y no he conseguido resolver la duda y me han remitido aquí.
  #2 (permalink)  
Antiguo 30/11/2014, 12:14
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Alquiler de coches

Pues te engañaron. Tu tendrás una consulta a la base de datos donde recupera todos los vehículos disponibles. Pues tendrás que modificarla para que no incluya los ocupados. Es SQL de principiantes.
  #3 (permalink)  
Antiguo 30/11/2014, 12:20
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Alquiler de coches

Hola marlanga :) ,

Gracias por la respuesta, bueno, pero si alguien supiera hacerlo agradecería la ayuda, jeje tan de principiantes no debe ser puesto que yo me manejo en sql de principiantes y algo de nivel medio, pero si soy sincero no tengo ni pajolera idea de como hacerlo... :SSS
  #4 (permalink)  
Antiguo 30/11/2014, 12:30
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Alquiler de coches

No se yo.

¿Que consultas haces para recuperar los coches de la BD? Ponla entera, y la descripción de cada tabla implicada (o al menos sus campos relevantes para esta tarea).
  #5 (permalink)  
Antiguo 30/11/2014, 13:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Alquiler de coches

@alejandromaringomez:
Lo que yo te propuse en el post de tu tema en MySQL es precisamente que hicieras una sola consulta. Eres tu el que no quiere aprender cómo usar esta simple query:
Código MySQL:
Ver original
  1. SELECT * FROM vehiculos V INNER JOIN vehiculos_ocupados VO ON V.id = VO.id_vehiculo
  2. WHERE id_vehiculo = 24
  3.     AND sede = 1
  4.     AND fecha_entrega <= '2014-12-10'
  5.     AND hora_entrega < '18:00:00'
  6.     AND fecha_devolucion >= '2014-12-03'
  7.     AND hora_devolucion >= '17:59:59'
  8. ORDER BY grupo, fecha_entrega, hora_entrega;
en PHP para que puedas obtener todos los datos en una única llamada a la base...
De hecho, en el último post te dije expresamente:
Cita:
Si quieres ver cómo se implementa esa consulta que te propongo en PHP, te paso el post al foro de PHP para poder continuar con esa parte, ya que como dicen las normas del foro, es OFF TOPIC en este foro...
Pero no respondiste...

Aprovechando que ya abriste incorrectamente otro hilo para el mismo asunto (cosa indebida según las pDU), te lo planteo de este modo:
Código PHP:
$sql "SELECT * FROM vehiculos V INNER JOIN vehiculos_ocupados VO ON V.id = VO.id_vehiculo
WHERE id_vehiculo = $idvehiculo
    AND sede = $sede
    AND fecha_entrega <= '$fechaentrega' 
    AND hora_entrega < '$horaentrega'
    AND fecha_devolucion >= '$fechadev' 
    AND hora_devolucion >= '$horadev'
ORDER BY grupo, fecha_entrega, hora_entrega;"
;
$result mysql_query($sql);
if(
$result)
  {
  if(
mysql_num_rows($result)>0)
    {
    
// Aquí va la iteracion que quieras

    
}
  } 
¿En serio te resulta tan difícil tomar la query propuesta y ponerla en un buen codigo PHP?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 01/12/2014, 19:42
Avatar de AXENCO  
Fecha de Ingreso: julio-2014
Ubicación: culiacan, sinaloa
Mensajes: 21
Antigüedad: 10 años, 4 meses
Puntos: 1
Respuesta: Alquiler de coches

agraga un status ala tabla si esta ocupado sea =0 si no lo esta un 1 o como tu quieras representarlo despues para el select agregas where status =1 para que solo te muestre los que estan desocupados

Etiquetas: alquiler, coches, fecha, mysql, sql, tabla
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 04:11.