Ver Mensaje Individual
  #11 (permalink)  
Antiguo 14/01/2016, 07:41
Avatar de manyblue
manyblue
 
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 18 años, 5 meses
Puntos: 10
Respuesta: Organizar Precios y Temporadas

Al final me quedó así:
Código PHP:
 <?php 

$desde 
= $_GET['FDesde'];
$hasta = $_GET["FHasta"];
$new_desde = date( "m-d", strtotime($desde));
$new_Hasta = date( "m-d", strtotime($hasta));

// Temporada Baja = 13/01 al 10/03 - 07/04 al 14/06 - 01/09 al 26/11
// Temporada Media =  11/03 al 26/03 - 15/06 al 31/07 - 27/11 al 14/12
// Temporada Alta = 27/03 al 06/04 - 01/08 al 31/08 - 01/08 al 31/08

// DATOS FACTURACIÓN //

do {
    
$dateDesde = date("m-d", strtotime($row_ConsultaPrecios['dateDesde']));
$dateHasta = date("m-d", strtotime($row_ConsultaPrecios['dateHasta']));
$NombreTemporada = $row_ConsultaPrecios['strNombreTemporada'];
$PrecioTemporada = $row_ConsultaPrecios['intPrecio'];

if((
$dateDesde <= $new_desde) && ($dateHasta >= $new_Hasta) && ($row_ConsultaPrecios['strNombreTemporada'] = "Baja")):
   
$PrecioHabitacion = $row_ConsultaPrecios['intPrecio'];
   
$Temporada = $NombreTemporada;
elseif((
$dateDesde <= $new_desde) && ($dateHasta >= $new_Hasta) && ($row_ConsultaPrecios['strNombreTemporada'] = "Media")):
   
$PrecioHabitacion = $row_ConsultaPrecios['intPrecio'];
   
$Temporada = $NombreTemporada;
elseif((
$dateDesde <= $new_desde) && ($dateHasta >= $new_Hasta) && ($row_ConsultaPrecios['strNombreTemporada'] = "Alta")):
   
$PrecioHabitacion = $row_ConsultaPrecios['intPrecio'];
   
$Temporada = $NombreTemporada;
endif;

} while (
$row_ConsultaPrecios = mysql_fetch_assoc($ConsultaPrecios));


// DIFERENCIA DE DIAS ENTRE Fdesde HASTA Fhasta //
$inicio = strtotime($_GET['FDesde']);
$fin = strtotime($_GET["FHasta"]);
$dateDiff = $fin - $inicio;
echo 
"<strong>Días Totales:</strong> ".($dateDiffTotal = floor($dateDiff/(60*60*24))+1)." días";
echo 
"<br />"; ?>
<strong>Fecha Factura:</strong> <?php echo date("d-m-Y");?><br />
<strong>Cliente:</strong> 
<?php echo ObtenerNombreUsuario($row_DatosDatosConsulta['refUsuario']); ?>
<?php 
echo ObtenerAlellidosUsuario($row_DatosDatosConsulta['refUsuario']); ?>
<br />

<?php
// CALCULOS FACTURACIÓN //
echo "<strong>Precio/Día:</strong> ".$PrecioHabitacion." €"."&nbsp;&nbsp;&nbsp;<strong>Temporada:</strong> ".$Temporada;
echo 
"<br />";
echo 
"<strong>Sub Total:</strong> ".$SubTotal = $PrecioHabitacion * $dateDiffTotal." €";
echo 
"<br />";
$Impuesto = $row_ConsultaHabitaciones['intValor_Impuesto']; 
$NombreImpuesto = $row_ConsultaHabitaciones['strNombre_Impuesto'];
$Impuestos = (($Impuesto * $SubTotal) / 100);
echo 
"<strong>".$Impuesto."% ".$NombreImpuesto.":</strong> ".$row_ConsultaPrecios['strNombreTemporada'].$Impuestos." €";
echo 
"<br />";
echo 
"<strong>Total:</strong> ".$Total = $Impuestos + $SubTotal." €";

?>
Con tu código y los correcciones que me dices funciona también.
Si es la versión de wampserver y php
Si tengo de 10-12-2016 al 12-12-2016 son 3 días pues en el hotel puedes entrar desde las 00:00 del día 10-12-2016 y sales a las 12:00 del día 12-12-2016 aunque solo tengas 12 horas del día 12-12-2016 pagas día completo.
Esto:
SIEMPRE será TRUE!!!
Si $dateHasta = 1 la comparacion es: (1 >= 1) siempre true ...
No lo comprendo muy bién.
Un saludo: Manyblue