Выборка из таблицы

betik

Новичок
Выборка из таблицы

Выборка из таблицы
Скрипту передаются значения $id, $n

Есть таблица MySQL с полями
ID(int),XIN(int)

..Есть задача сделать вывести $n записей из таблицы, отсортированых по XIN DESC, при этом вывод нужно начать не с первой позиции, а с позиции, на которой находится сайт с id=$id..

То есть если сайт c $id=20 находится на 50 месте, то запрос должен быть такой

Select * from $tbl oeder by XIN DESC LIMIT 50,$n

Есть ли другой способ? Вся проблема состоит в получении номера сайта в выборке (в даенном случае - 50)....
Лично я делаю выборку Select * from $tbl sort by XIN DESC

Затем пробегаюсь по всем строкам выборки, запуская счётчик i строк выборки. Если ID в текущей строке равен $id переданой скрипту, то положение счётчика запоминается и становится равным числу строк, на которое надо сместить вывод (в нашем случае - 50) ..

Но всё это попахивает говнецом...

2Мод Сорри за дуппинг поста, просто этот топик сразу не увидел...
 

lucas

Guest
Так?

select xin from $tbl where id = $id
select * from $tbl where xin > $xin - 1 order by xin desc limit $n
 

betik

Новичок
Выглядит логично...
Весьма... Только что такое $xin-1? ... Или ты имеешь вииду что $xin идут по порядку? Нет.. там может быть 1, 809996, 6545875456546 и тд... то есть абсолютно любые числа...

А что, >= не поддерживается в Мускуле?... xin >= $xin...
 
Сверху