Per la settimana in corso vedi se così funziona

codice:
select * from tabella where data_inizio between
curdate() - interval weekday(curdate()) day
and
curdate() + interval 6 - weekday(curdate()) day
or data_fine between
curdate() - interval weekday(curdate()) day
and
curdate() + interval 6 - weekday(curdate()) day
Non garantisco nulla, son fuso e sto andando a dormire.