Why not just store the types in the DB and query that? -- table definition create table categories ( type whateverTypeThisFieldActuallyIs (ie int) primary key, name text, form text ); // PHP code $type = $HTTP_GET_VARS['type']; $rv = pg_exec($dbConnection, "SELECT form FROM categories WHERE type = '$type';"); if (pg_numrows($rv) > 0) { list($form) = pg_fetch_row($rv, 0); include($form); } else { show_error("Item Type not found", $type); } No arrays ... no loops. One simple IF. Should do what you need. I have worked on sites where the entire content is stored in the database ... works fine. Pefectly fast. Have you looked into PHP cache extensions if speed is an issue for file parsing? try: http://www.php-accelerator.co.uk/