@xpril

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

Есть таблица:

ID Имя Фамилия Товар

1. Имя Фамилия Товар
2. Имя Фамилия Товар
3. Имя Фамилия Товар
4. Имя Фамилия Товар
5. Имя Фамилия Товар
6. и т.д.

И мне как-то надо, что бы человек при вводе определённой страницы получал данные относительно странице, например:
Страница 1: От 1 до 5 id
Страница 2: От 6 до 10 id
Страница 3: От 11 до 15 id
Страница 4 и т.д.

Я пробовал через цикл for но толку не хватило.
Помогите, пожалуйста!
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Читай про операторы LIMIT и OFFSET у SQL-запроса.
Если размер страницы N записей, то для выдачи страницы i тебе нужно будет задать OFFSET (i - 1) * N LIMIT N.
Разумеется, нужно также задать порядок сортировки записей через ORDER BY.
Ответ написан
Комментировать
@PavelMos
Сделать дополнительный столбец Page
И заполнить его в зависимости от номера id. Формула для страницы:
начало промежутка 1+(стараница-1)*5
конец промежутка 5*страница

Или сразу создать последовательность [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3....] и вставить в столбец , если известно, что id подряд идут без разрывов, или по по промежуткам:
for page in range (1,10, 5) : # от 1 до 10 страниц, шаг 5
cur.execute ("UPDATE table1 SET page=? IF (id>=? AND id<=?);", (page, 1+(page-1)*5, page*5))
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы