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

Как вывести все строки из таблицы, которые принадлежат userId?

Мне нужно отобразить все заказы, принадлежащие пользователю, в один клик. Каков наилучший способ сделать это? Приведенный ниже код выводит только первый элемент.
async def list_orders(message):
    cur.execute("SELECT * FROM orders WHERE userId=?", (message.from_user.id,))
    user = cur.fetchone()
    if user:
           await message.answer(text=f'Order #{user[2]}\n'
                                      'Open!\n\n'
                                      f'{user[3]}')
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Очевидно, делать выборку не одного элемента.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
febday
@febday
async def list_orders(message):
    cur.execute("SELECT * FROM orders WHERE userId=?", (message.from_user.id,))
    users = cur.fetchall()
    if users != list():
        return await message.answer("Ничего нет")

    text =  '\n'.join([f'Order #{user[2}\nOpen!\n\n{user[3]}' for user in users])
    return await message.answer(text=text)


Можно так попробовать. По факту это тоже самое, что вам сказал ответчик выше
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽