Okay, so you have I see 2 tables:
1.) Theme
[indent]This table holds the "Theme" and "Date" fields, as well as a link-identifier (the ID field) to the second table (the themeID field).
id | Theme | Date
[color=green]1 | Some Theme | 20071202001600[/color]
[color=red]2 | A New Theme | 20071202001615[/color]
[/indent]
2.) Data
[indent]This table holds as many rows as are filled in in the form. So if there are 8 rows, 8 new rows are added. It is linked to the Theme table using the "themeID" field which holds the "id" field of the Theme table.
id | themeID | Program | Person | Mic | Image | Sound | Light | Other
[color=red]1 | 2 | Some Program | bpat1434 | Y | mypic.jpg | Y | Y | None[/color]
[color=green]2 | 1 | Another Prog | onlyleif | N | blank.gif | Y | N | Some other notes...[/color]
[/indent]
Notice how the green in the Data table matches with the green in the Theme table, and the same with the red?
This will allow you to have as many rows per "theme" as needed. Also, if your table is set up to allow non-null values, (or they have defaults) you can make all items optional.
A simple create statement would be:
DROP TABLE IF EXISTS `theme`;
CREATE TABLE `theme` (
`id` int(11) unsigned NOT NULL auto_increment,
`theme` varchar(255) NOT NULL default '',
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `data`;
CREATE TABLE `data`(
`id` int(11) NOT NULL auto_increment,
`themeID` int(11) NOT NULL,
`program` varchar(255) NOT NULL default '',
`person` varchar(255) NOT NULL default '',
`mic` enum('Y', 'N') NOT NULL default 'Y',
`image` varchar(255) NOT NULL default '',
`sound` enum('Y', 'N') NOT NULL default 'Y',
`light` enum('Y', 'N') NOT NULL default 'Y',
`other` text NULL,
PRIMARY KEY (`id`),
KEY `themeID` (`themeID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
Hope that gets you started in the right direction..... From here you'd have to use the [man]mysql_query/man function to run a proper INSERT or SELECT statement on the database.