Ok... entonces... igual no veo el problema...
Código PHP:
$sql = "SELECT * FROM tabla WHERE campoFecha BETWEEN '$desde' AND '$hasta'";
¿ $desde y $hasta tienen el formato del tipo DATE de Mysql (yyyy-mm-dd)?
El manual dice:
Cita: This is equivalent to the expression (min <= expr AND expr <= max) if all the arguments are of the same type.
http://dev.mysql.com/doc/mysql/en/Co...Operators.html
Si no.... pon la forma cómo lo estás haciendo tú... y el formato que tienen esas variables $desde y $hasta. Ah.. y también el tipo de dato con el que guardas las variables en tu BD.
Saludos