I wasn't sure if it looks at $thisdate as text instead of a date.
'It all depends' is the only answer, you'll have to read the manual to get your head round it.
Now, don't see what you tried to use LIKE for??
If you want all events for a specific Month then use the Year and Month functions
$sql = "SELECT * FROM school_year0506 WHERE Year(Date) = " . $year . " AND MONTH(Date) = " . $month
This will return all rows for the given year and month in one go. Add whatever Order By applies.
to select for just 1 specific day use =
AND DON'T USE DATE FOR A COLUMN NAME, EVER.
MySQL may be able to handle it but most other db engines will spit-the-dummy over it. Besides, it is actually meaningless in the real world as well: what date? event date, birthday, date entered ??
Use more meaningfull names or you'll end up with untold columns called the same thing and no obvious way to identify the contents. Try DateIn, UpDate, StartDate, EventDate, DueDate, InvDate, etc.