Я построил слайдер, используя AJAX для результатов, и у меня есть небольшая проблема следующим образом:
предполагается, что таблица с набором 1 to 15
строк, но я работаю только с первыми 9 строками; в 1-й этап i (SELECT * FROM table ORDER BY id DESC LIMIT 9)
и использовать результаты для построения навигации и для отображения первой группы.
Затем на 2-й стадии я запрашиваю эти 9 пунктов, 3 каждый раз из слева , поэтому я (SELECT * FROM table WHERE id > '$1' ORDER BY id DESC LIMIT 3)
или вправо , поэтому я (SELECT * FROM table WHERE id < '$1' ORDER BY id DESC LIMIT 3)
где $1
- последний элемент каждой группы, поэтому (13 || 11 || 7)
из (15, 14, 13) || (12, 11, 10) || (9, 8, 7)
.
Хорошо, представьте себе более подробное объяснение, как показано ниже:
<- [ 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 ] ->
[ 15 ] [ 14 ] [ 13 ]
Хорошо, проблема в , когда "правильный запрос" достигает last item: 7
, набор результатов равен (6, 5, 4)
, что, очевидно, правильно, но не в нашем диапазоне 15 до 7 , вместо этого для моей цели он ничего не должен возвращать. Как я могу сделать это с одним запросом SQL?
просто ради: вот слайдер demo (последний элемент справа, используя стрелку вправо, находится вне диапазона);
надеюсь, это не слишком размытый вопрос, потому что мне было трудно понять, как объяснить проблему. ;)