ho fatto alcune modifiche e la query funziona in parte diciamo, questa è la tabella "rooms"
+---------+------+-------+-------+----+--------------+--------------
| hote_id | room_type | default_price | data_start |data_end |
+---------+------+-------+-------------+--------------+--------------
| 1 | Twin | 50 | 2014-05-10 | 2014-05-20
| 1 | Twin | 100 | 2014-05-21 | 2014-05-30
+---------+------+-------+-------+----+--------------+--------------

e questo e' la modifica alla query:
Codice PHP:
  $from $_POST['from'];
            
$to $_POST['to'];
            
$hotel_id $_POST['hid'];
            

$dal = new DateTime($from);
$al = new DateTime($to);
$intervallo $al->diff($dal);

$giorni 1;

$query="SELECT hotel_id, room_type, default_price, ($giorni * default_price) as total
                          FROM rooms 
                          WHERE '
$from' BETWEEN '$from' AND '$to'
GROUP BY 
    hotel_id, room_type"
;
           
            
$result=mysql_query($query);
            
            while(
$row=mysql_fetch_array($result)){
                
$ratestable[$row['room_type']][0]=$row['total']; 

facendo una ricerca ad es. dal 12 al 13 la query come sopra l'ho scritta mi da come risultato 50 invece se tolgo
Codice PHP:
  GROUP BY 
    hotel_id
room_type 
mi da come risultato 100 cioe o mi calcola il prezzo solo sulla prima riga o solo sulla seconda. mi sapresti dire come risolvere?
Grazie