За последние 24 часа нас посетили 17957 программистов и 1650 роботов. Сейчас ищет 1181 программист ...

Как выделить запись из БД и плюс 5 записей до неё и 5 после

Тема в разделе "MySQL", создана пользователем Locker, 20 мар 2008.

  1. Locker

    Locker Активный пользователь

    С нами с:
    12 авг 2006
    Сообщения:
    124
    Симпатии:
    0
    Есть фотогалерея - внизу есть превьюшки фоток. Нужно там вывести 11 фоток - одна текущая открытая, 5 до неё и 5 после. Хочу сделать в один запрос - но чет впарился как всегда. Поможите плиз
     
  2. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Примерно так:
    SELECT COUNT(*) AS N FROM photos WHERE id<currPhotoId
    SELECT * FROM photos ORDER BY id LIMIT N-5,11
     
  3. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    это только если галерея маленькая и выборка без условий.
    иначе
    [sql]SELECT * FROM photos WHERE id<= currId $where ORDER BY id ASC limit 5
    UNION
    SELECT * FROM photos WHERE id>currId $where ORDER BY id DESC limit 5[/sql]