Как распределить название кортежей для Inline кнопок?

Имеется такой код для динамичных Inline кнопок из базы данных

def FindPlayer(user_id):
    Find_Players = BotDB.get_find_users(user_id)
    kb = InlineKeyboardBuilder()
    for find_user in Find_Players:
        kb.button(text=f'{Find_Players[0][0]}', callback_data=f'findPlayer|{Find_Players[0][0]}')
    kb.adjust(1)
    return kb.as_markup()

Все хорошо. Кнопки создаются по количеству их в базе данных, но названия с первой строчки

введите сюда описание изображения

введите сюда описание изображения

Код для нахождения всех строк с find_user по user_id

    def get_find_users(self, user_id):
        result = self.cursor.execute("SELECT `find_user` FROM `players` WHERE `user_id` = ?", (user_id,))
        return result.fetchall()

Нужно чтобы не повторялись name1, а были согласно их названию.

Думаю такая ошибка из за [0][0], но я не знаю как иначе по умному выводить.


Ответы (1 шт):

Автор решения: AnnaBazueva

Я не понимаю, почему Вы в цикле не используете find_user...

    for find_user in Find_Players:
        # Используем find_user вместо Find_Players[0]
        kb.button(text=f'{find_user[0]}', callback_data=f'findPlayer|{find_user[0]}')

Ещё можно использовать enumerate, но это странно:

    for i, _ in enumerate(Find_Players):
        kb.button(text=f'{Find_Players[i][0]}', callback_data=f'findPlayer|{Find_Players[i][0]}')
→ Ссылка