Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/12/2011, 09:13
helenp
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: hacer solo si las fechas estan en la base

Cita:
Iniciado por snowmanchip Ver Mensaje
Hola,
Cómo selecciona el usuario las fechas? cómo es esa tabla de dos fechas?, te pregunto ya que una solución sencilla sería que eligiera las fechas desde un select de un formulario y así siempre los valores estarían en la base de datos, ahora si quieres que nunca se seleccione una fecha mayor a hoy limita la consulta, resumiendo es mejor que coloques el código de lo que quieres lograr,
Saludos
El usuario selecciona las fechas con un formulario,
pero tambien nosotros que tenemos un intranet para calcular precio y alli puede haber fechas posibles que se pueda elegir fechas que aun no esta en la base, y ademas hay que cubrir la espalda pensando en todos los posibles errores.

Tengo una tabla en la cual he insertado las fechas en columna cal_date desde 2012-01-01 hasta 2013-12-31 y esas fechas estan repetidas x veces ya que cada propiedad tiene 352 filas por año (dias/año).

Lo que quiero lograr es que si por ejemplo por un error o no sabes que no hay 2014 en la base, se mete (llegada) 2013-12-13 hasta (salida) 2014-01-14 salga un error diciendo que aun no hay fechas (eso funciona), pero mas abajo calcula el precio de los dias que estan en la base, es decir hasta 2013-12-13 y eso es peligros, con las prisas y no leer bien, pues damos un precio erroneo.

Por lo tanto para evitar que se calcule el precio (es una pagina con muchos select y if y else etc) es llamar a la base y decir que se calcule solo si la fecha llegada y la fecha salida esta en la base, si no que no calcule, y para mi lo correcto sería no usar php como pensaba primero sino directamente en el mysql hacer un select que solo lo hace si cumple el select:
$result4 = mysql_query ("SELECT cal_date FROM calendar_table
where Cal_date between '$llegada' AND '$salida' AND property = '$propiedad' ");
if ($rows = mysql_fetch_array($result4)){
ó:
$result4 = mysql_query ("SELECT cal_date FROM calendar_table
where '$llegada' AND '$salida' between Cal_date AND property = '$propiedad' ");
if ($rows = mysql_fetch_array($result4)){
//Calculamos precio en propiedades disponibles
pero sale el mensaje diciendo que no hay precio como debe de hacer,
pero debajo sale un precio erroneo que es excluyendo los dias de 2014

Bueno, eso es lo que quiero hacer, gracias