Okay, I see what you are saying. Since you need to see one (or more) rows into the future, you need to compare the data of the top row to be printed with the data of all rows in the future that may need to be printed under the same date. I actually just ran into this problem a couple of days ago. My solution is basically what I described in my previous post, but since it wasn't what you were looking for, let me suggest an alternative.
This solution is a bit of a hack, but I feel it eliminates a lot of complexity. Basically, instead of messing with arrays, let HTML do the work. Simply, don't use rowspan as you had planned. Instead, insert the date into a row, then embed a table into the next row. Within this table print our all the data for the date. When you get to a new date, finish off the table, and repeat the process starting on a new row. This will involve - once again - inserting the current date into a row, and then inserting all the data for that date into a table that is contained in the following row.
This approach eliminates fancy logic to store and compare dates "into the future", and it neatens up the HTML a little. You will still need to do comparisons to determine when to add data to the table and when to start a new "date row/data row(table)". The comparisons can be done according to the description I posted previously. Remember to have your result set be sorted, so you can iterate through the arrays easily.
This sound better?
-Michael