Вобщем я бы предложил такое решение:
Есть таблица menu с полями id, title, category_id type
Есть таблица связующая таблица categories с полями id, content_id, name
И выводите любое меню через эту категорию, можете по типу создавать в кссе дополнительное оформление для разных типов.
Вид страницы и код отображения, в зависимости статья это или проект, у вас в любом случае будет отличаться, поэтому и таблицы для статей и проектов у вас тоже будут разными, но привязанными к меню и вы точно будете знать что именно меню означает и куда ведет.
Даже не представляю какие там поля могут быть у проектов, напишу на примере статьи. Имеем таблицы menu, categories.
SELECT menu.id, menu.title, menu.type
FROM menu
INNER JOIN categories ON (categories.id = $выбранная категория для отображения меню)