Задать вопрос
@mikitos59

Как выводить нужный текст, имея значение из БД?

Как сделать, чтобы когда пользователь(у которого в БД 1) нажимая на кнопку ПН, то ему отправлялся бы текст1, а если у пользователя в БД значение 2, то текст2

@dp.message_handler(text='Пн')
async def send_text(message: types.Message):
    connect = sqlite3.connect('main.db')
    cursor = connect.cursor()
    cursor.execute('SELECT grup FROM Users')
    row = cursor.fetchall()
    for i in row:
        for j in i:
            if j == '1':
                await message.answer('текст1')
            elif j == '2':
                await message.answer('текст2')

    connect.close()
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@o5a
Правильно будет сразу запросить в базе запись по нужному пользователю (название поля свое)
cursor.execute('SELECT grup FROM Users WHERE user_id = ?', (message.from_user.id, ))
row = cursor.fetchone()
if row:
    grup = row[0]
    # в grup будет значение поля из таблицы по данному пользователю
else:
    # пользователь не найден в базе
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы