En principio es muy fácil. Ten en cuenta que las fechas en base de datos
están en formato MySql, y que si el usuario las mete en otro idioma, las
tendrás que formatear al formato MySql.
Para hacer la búsqueda, es muy fácil, quedaría mas o menos así:
SELECT * FROM
MI_TABLA
WHERE FECHA >= FECHA_INICIO_INTRODUCIDA
AND FECHA <= FECHA_FIN_INTRODUCIDA
ORDER BY NOMBRE_DE_CAMPO_DE_BD_POR_EL_QUE_QUIERES_ORDENAR
Al decirle fecha >= le estas diciendo que sea mayor o igual
Y al decirle <= que sea menor o igual.
Comentario de Sara
Para transformar las fechas, como te indica Fernando, hay una par
de funciones en
Convertir fechas entre MySQL y castellano, en PHP