El problema lo tienes en la consulta, por eso no te regresa ningún registro. El error estaría en que por sentido común sería la fecha inicial mayor a
f_ini y la fecha final
menor a
f_fin.
La consulta ideal sería la siguiente
Código PHP:
$c2="SELECT num_habitacion from reservas where (f_ini BETWEEN '$f_ini' AND '$f_fin' OR
f_fin BETWEEN '$f_ini' AND '$f_fin' OR
'$f_ini' BETWEEN f_ini AND f_fin OR
'$f_fin' BETWEEN f_ini AND f_fin))";
A continuación te explicaria los 4 casos del WHERE.
$f_ini='2012-03-04';
$f_fin='2012-03-10';
Caso1:
BD=f_ini='2012-03-05'
BD=f_fin='2012-06-05';
Caso2:
BD=f_ini='2012-03-05'
BD=f_fin='2012-06-05';
Caso 3:
BD=f_ini='2012-02-28';
BD=f_fin='2012-03-04';
Caso 4:
BD=f_ini='2012-03-04';
BD=f_fin='2012-03-20';
Espero te sirva.