Es gibt viele Möglichkeiten, dies zu tun, wenn Sie zwei Abfragen mit einer Programmiersprache ausführen, aber hier ist eine Möglichkeit, dies in einer SQL-Abfrage zu tun:
(SELECT * FROM table WHERE id >= 34 AND active = 1 ORDER BY id ASC LIMIT 6)
UNION
(SELECT * FROM table WHERE id < 34 AND active = 1 ORDER BY id DESC LIMIT 5)
ORDER BY id ASC
Dies würde die 5 Zeilen darüber, die Zielzeile und 5 Zeilen darunter zurückgeben.