Доброго времени суток. Разрабатываю телеграмм бота используя telebot на python. Нужно сделать вывод данных из бд с кнопкой. Но у меня получается вот так:
Нужно сделать чтобы была только одна кнопка и з определенным url из бд.
Код:
# ВИВІД ТОВАРІВ
@bot.callback_query_handler(func=lambda call: True)
def Tovars(call):
kb = Keyboard()
q = DB()
cnn = q.create_connection(echo_config.path)
tovars=q.execute_tovars(cnn)
tovarKeyboard=types.InlineKeyboardMarkup()
for tovar in tovars:
photo = open(tovar[3], 'rb')
caption = f"Назва: {tovar[1]}.\nОпис: {tovar[2]}.\nЦіна: {tovar[6]} грн."
tovarKeyboard.add(types.InlineKeyboardButton(text="Перейти до товару на сайті", url=tovar[4]))
bot.send_photo(call.message.chat.id, photo, caption, reply_markup=tovarKeyboard)
Код с запросом из бд (работаю с SQLite):
def execute_tovars(self, connection):
cursor=connection.cursor()
query="SELECT * FROM Tovar"
try:
cursor.execute(query)
result = cursor.fetchall()
return result
except Error as e:
print(f"The error '{e}' occured ")
cursor.close()
Таблица в бд (url в таблице рандомныйе. Только для того чтобы проверить или выполняется переход по ссылке):