Вас может заинтересовать то, что имитирует rownum()
Oracle в MySQL ... если вы используете MySQL, конечно, так как это не указано в вопросе.
Примечания
Вы должны будете просмотреть все записи на своих страницах, чтобы это работало, конечно. Вам не нужно извлекать их обратно на страницу PHP с сервера базы данных, но вам придется включить их в запрос. Не существует волшебного трюка для определения позиции вашей строки в наборе результатов, кроме запроса набора результатов, поскольку он может измениться из-за условий where, порядков и групп. Это должно быть в контексте.
Конечно, если все ваши строки являются последовательными, с инкрементными идентификаторами, ни одна из них не удаляется, и вы знаете первый и последний идентификаторы; тогда вы можете использовать счет и с простой математикой получить позицию, не спрашивая все .... но я сомневаюсь, что это ваш случай, это никогда не так.