for i, n in enumerate(menu_dict):
# print(menu_dict[i][0])
id = menu_dict[i][0]
name = menu_dict[i][1]
items = menu_dict[i][2]
# print(f"{name}{items}")
menu = InlineKeyboardMarkup(row_width=1)
for q, w in enumerate(items):
callback_data = f"{id}_{q}"
button = InlineKeyboardButton(text=w[0], callback_data=callback_data)
menu.insert(button)
# print(f"{name}-{w} {id} - {button}")
menu.insert(InlineKeyboardButton(text="отмена", callback_data="cancel"))
я вот так делал, только не из базы, а из словаря.