Hey up,
One table for every thread would be terribly inefficient and inpractical. All you need are 2 tables, for example:
threads_tbl
thread_id - Mediumint(5) NOT NULL AUTO_INCREMENT UNIQUE
date_modified - Datetime NOT NULL
topic - Tinytext NOT NULL
author - Tinytext NOT NULL
Primary Key (thread_id)
posts_tbl
post_id - Mediumint(5) NOT NULL AUTO_INCREMENT UNIQUE
thread_id - Mediumint(5) NOT NULL
date_posted - Datetime NOT NULL
author - Tinytext NOT NULL
body - Text NOT NULL
Primary Key (post_id)
For every thread in your message board you must make 1 row in 'threads_tbl', and initially 1 row in 'posts_tbl'. Whenever a reply is made to a thread you add a new row into 'posts_tbl', and update the 'date_modified' field to the current timestamp for the corresponding row in 'threads_tbl'.
I actually use a 'user_id' field in both tables rather than 'author', which links to my master 'users_tbl' containing user info, such as username.
Hope this gives you some ideas.
Thanks, Andy.