Можно ли в одном запросе узнать соседние элементы выборки?

Статус
В этой теме нельзя размещать новые ответы.

golos81

Новичок
Можно ли в одном запросе узнать соседние элементы выборки?

Делаю выборку одной строки по условию из таблицы:

PHP:
$query = "SELECT name FROM photogallery WHERE id = ".$HTTP_GET_VARS['id']."";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
	$current_name = $row['name'];
}
По данному условию выбирается одна запись. Могу ли я в этом же цикле узнать значение name предыдущей и следующей строки по отношению к текущей? Или мне придется делать еще несколько запросов наподобие этого:

PHP:
$query = "SELECT name FROM photogallery WHERE id = ".$HTTP_GET_VARS['id'+1] ."";
...
?
 

WP

^_^
[m]mysql_data_seek[/m]. Или сначала загоняешь всё в массив, а потом циклом.
 

WP

^_^
Без дополнительных запросов можно оперировать только теми рядами которые вернул запрос. Но в цикле делать кучу запросов нерационально. Поэтому перечисли в запросе все id.
PHP:
$n = $_GET['id'];
$query = "SELECT name FROM photogallery WHERE id  IN(".($n-1).",".$n.",".($n+1).")";
Но цикл тут не нужен.
 

Фанат

oncle terrible
Команда форума
WP
ты стремительно отупел?
КАКИЕ id перечислить? ИХ ему И НАДО ПОЛУЧИТЬ!
 

WP

^_^
Фанат
Это была тяжелая ночь) Но я включил мозги.
Перечислять ID которые нужно получить, т.е. id-1, id, id+1. Если они могут идти не по порядку, то[sql]
(SELECT `name` FROM `photogallery` WHERE `id` < {id} ORDER BY `id` DESC LIMIT 1)
UNION (SELECT `name` FROM `photogallery` WHERE `id` >= {id} ORDER BY `id` ASC LIMIT 2)
[/sql]
 

Фанат

oncle terrible
Команда форума
Если они могут идти не по порядку,
нет, я всё-таки, убеждаюсь что праильно тебя забанили в прошлы раз..
это не ночь виновата.
ты натуральный дебил.
 

Фанат

oncle terrible
Команда форума
За вопросы "что будет быстрее" предлагаю расстреливать на месте.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху