Возврат следующих результатов

У меня есть таблица, похожая на приведенную ниже.

id  | episode_number

1        55
2        56
3        57-58
4        59
5        60
6        61-62
7        63
8        64
9        65-66
10       67-68

Моя цель — каждый раз, когда выбирается определенный эпизод. Я хотел бы вернуть следующие 5 результатов. Допустим, если выбран episode_number 60, я хотел бы вернуть следующие 5 результатов, которые

id  | episode_number
6        61-62
7        63
8        64
9        65-66
10       67-68

Я добился этого, сделав следующее утверждение ниже, все прекрасно работает.

$query = $PDO -> prepare("SELECT * FROM table
WHERE `table`.episode_number > :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5");

$query->bindValue(':episode', 60, PDO::PARAM_INT);

Но как быть, если выбранные эпизоды не INT, а на самом деле STR? например, 61-62, как бы мне вернуть следующие 5 результатов?

-1

Решение

Если я правильно понимаю проблему, когда у вас есть строка, вы получаете это значение в списке «следующий», а не «следующее» значение. Если это проблема, вот два способа ее решения:

SELECT *
FROM table
WHERE `table`.episode_number + 0 > :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5;

или же:

SELECT *
FROM table
WHERE `table`.episode_number >= :episode
ORDER BY (`table`.episode_number + 0)
LIMIT 5 OFFSET 1;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]