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

[AIOGRAM, SQLITE3] Как вывести всю базу одним сообщением?

Нужно все вывести одним сообщением
if adm_spis == spisbtns[0]:
		users = db.db_all()
		db_schet = len(users)
		users_list = {}
		for user in users:
			id = user[0]
			username = user[1]
			user_id = user[2]
			number = user[3]
			subscription = user[4]
			admi = user[5]
			blocked = user[6]
			ban = user[7]
		await msg.answer(f'<b>ВСЯ БАЗА ДАННЫХ </b>\n\n<i>Всего в базе: </i><code>{db_schet}</code>\n\n<b>ID: </b><code>{id}</code>\n<b>USERNAME: </b><code>{username}</code>\n<b>USER_ID: </b><code>{user_id}</code>\n<b>NUMBER: </b><code>{number}</code>\n<b>SUBSCRIPTION: </b><code>{subscription}</code>\n<b>BLOCKED: </b><code>{blocked}</code>\n<b>BAN: </b><code>{ban}</code>\n', parse_mode='html')


Выдаётся только последний элемент из базы:
ВСЯ БАЗА ДАННЫХ 

Всего в базе: 25

#ТУТ ДОЛЖНЫ ВЫВОДИТЬСЯ ОСТАЛЬНЫЕ ЭЛЕМЕНТЫ

ID: 25
USERNAME: YAR_Diana_Kondakova
USER_ID: 837344062
NUMBER: None
SUBSCRIPTION: 0
BLOCKED: 0
BAN: 0


Думал записывать в словарь, но потом не получится вывести с тегами html
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Простой 2 комментария
Решение пользователя Даниил Рыжов К ответам на вопрос (2)
if adm_spis == spisbtns[0]:
    users = db.db_all()
    db_schet = len(users)
    users_list = {}
    text_message = ''
    for user in users:
        id = user[0]
        username = user[1]
        user_id = user[2]
        number = user[3]
        subscription = user[4]
        admi = user[5]
        blocked = user[6]
        ban = user[7]
        text_message += f'<b>ID: </b><code>{id}</code>\n<b>USERNAME: </b><code>{username}</code>\n<b>USER_ID: </b><code>{user_id}</code>\n<b>NUMBER: </b><code>{number}</code>\n<b>SUBSCRIPTION: </b><code>{subscription}</code>\n<b>BLOCKED: </b><code>{blocked}</code>\n<b>BAN: </b><code>{ban}</code>\n\n'

    await msg.answer(f'<b>ВСЯ БАЗА ДАННЫХ </b>\n\n<i>Всего в базе: </i><code>{db_schet}</code>\n\n{text_message}', parse_mode='html')


Также в столбцах из которых вы берете переменные (subscription, admi, blocked, ban) можно изменить тип данных на bool для отображения False/True вместо 0/1 .

Если в будущем рассматриваете более обширный доступ администратора к БД, посмотрите в сторону django с его админкой.
Ответ написан