След и пред. запись

Фанат

oncle terrible
Команда форума
AND Fak=$current_fak
тебе не кажется, что здесь можно поставить какой-нибудь значок, кроме равно?

добавив, разумеется, фак в ордер бай
 

Aidar

Guest
SELECT Fak,Id FROM specialty WHERE Id>$current AND Fak>=$current_fak ORDER BY Fak,Id ASC LIMIT 1

При таком запросе теряется запись с Id=2 во втором факультете.
 

XStudent

Новичок
Я уже писал, смотря что ты хочешь сделать, если находится на самой первой записи, ты в качестве предыдущей хочешь дать ему самую последнюю, тогда выбираешь из таблицы
select id from таблица where fak="fak2" order by id desk limit 1
То же, если хочешь на последней странице как следующую дасть ссылку на первую.
Или ты можешь не делать ссылки в этом случае, т.е. - на последней странице нет ссылки на следующую и т.п.
 

SelenIT

IT-лунатик :)
...WHERE (Id>$current AND Fak=$current_fak) OR Fak>$current_fak ORDER BY ... (далее по тексту)?
 

Aidar

Guest
а для предыдущей записи как?
Вот так не работает:
SELECT Fak,Id FROM specialty WHERE (Id<$current AND Fak=$current_fak) OR Fak<$current_fak ORDER BY Fak,Id DESC LIMIT 1

-~{}~ 29.04.05 16:34:

Почему то при таком запросе, если находится на любом факультете, кроме первого Fak=1, ссылка на предыдущую страницу возвращает нас на последнюю запись первого факультета.
 

Aidar

Guest
теперь мы попадаем на первую запись первого факультета =)
 
Сверху