Как правильно вывести данные из таблицы в тг бота

InFocusLife

Новичок
Пользователь
Янв 7, 2022
5
0
1
Добрый день!

Пишу простого телеграм бота. Столкнулся с проблемой.

Задача: Необходимо вывести значение столбцов name и shedule при условии что текущий день недели равен значению столбца day. Не могу понять проблемы. При ниже приведенном коде, результат вывода - это первый подходящий результат по условию. и то только колонки name, а колонка shedule не выдается. Хотя необходимо выводить все результаты. Использую БД sqlite

Python:
if call.data == '2':

    def send_shedule():
        date = datetime.datetime.now()
        date = date.weekday()
        conn = sqlite3.connect('na.db')
        cursor = conn.cursor()
        result = cursor.execute(f"SELECT name, shedule FROM an WHERE DAY = {date}")
        return result.fetchall()


    answer = send_shedule()

elif call.data == '10':
    answer = 'Открытые собрания не проводятся!'
elif call.data == '11':
    answer = 'Собрания временно не проводятся!'


bot.send_message(call.message.chat.id, answer)

Скриншот 11-04-2025 120215.jpg

При нажатии на последнюю кнопку должен выйти список собраний, который проходит в этот день, одним сообщением
1744371780220.png
 
Последнее редактирование:

InFocusLife

Новичок
Пользователь
Янв 7, 2022
5
0
1
Может кому пригодится.

Python:
            def send_shedule():
                date = datetime.datetime.now()
                date = date.weekday()
                conn = sqlite3.connect('na.db')
                #conn.row_factory = sqlite3.Row
                cursor = conn.cursor()
                s = ''
                with conn:
                    result = cursor.execute(f"SELECT name, shedule FROM an WHERE DAY = {date}").fetchall()
                    for row in result:
                        s = s  + row[0]  + ' → ' + row[1] + '\n\n'
                    bot.send_message(call.message.chat.id, s)
 

PYDEV

Администратор
Команда форума
Администратор
Авг 31, 2023
88
22
8
Отправьте весь код архивом
 

Форум IT Специалистов