Non vedo il problema.

Selezioni i dati dal DB.
Crei un array bidimensionale con il planning.
Generi l'HTML (table, etc) a partire dall'array.