Surely this could be solved in your application. But here's an alternative to solving this in the database.
This is a solution to a well-known problem.
select b.Data, a.id, a.valor
from tbl_tabela a
right join
(
select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a)) DAY as data
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as d
) b
on b.data = a.data
where b.Data between '2015-05-01' and '2015-05-03'
Just substitute tbl_table, for your table and adjust the conditions according to your needs.
If performance is a problem (in the tests I did, it's not a problem at all), you can think of creating a Calendar table with the dates you need.
SQLFiddle