Nick add a flag in the database called active (or publish which is what I call mine) and then add a checkbox to the admin page to check or uncheck to show / hide on the main site. You will need to add the check into your sql for the product as well.
Example database table:
CREATE TABLE `tbl_categories` (
`id` int(11) unsigned NOT NULL auto_increment COMMENT 'Primary Key',
`title` tinytext COMMENT 'Name - Max 255 Characters (String)',
`details` text COMMENT 'Description - Max 65,535 Characters (String)',
`image` varchar(100) default NULL COMMENT 'Image File - Max 100 Characters (Fixed Length)',
`publish` tinyint(1) NOT NULL default '0' COMMENT 'Publish Option (0 = Unpublished, 1 = Published)',
`tstampinsert` int(11) unsigned default NULL COMMENT 'Insert Timestamp use <?php echo time(); ?> in a hidden field in your form',
`tstampupdate` int(11) unsigned default NULL COMMENT 'Update Timestamp use <?php echo time(); ?> in a hidden field in your form',
`url` tinytext COMMENT 'URL Parameter for Mod Rewrite - Max 255 Characters (String)',
`dateinsert` date default NULL,
`dateupdate` date default NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `details` (`details`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
and in your sql you would have something like:
SELECT tbl_categories.title AS category, tbl_categories.details, tbl_categories.image FROM tbl_categories WHERE tbl_categories.publish = 1
screenshot of the relevant part a typical admin panel that I build is attached.
Hope that helps you get going.
attachment.php?attachmentid=4085&stc=1&d=1277196593