Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Определение позиции записи в базе данных
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Определение позиции записи в базе данных

Страниц (1): [1]
 

1. Mister - 21 Октября, 2009 - 22:21:42 - перейти к сообщению
Имеется таблица вида:
---------------------------
| id | name |
| 1 | Vova |
| 2 | Kola |
| 5 | Dima |
| 6 | Anna |
| 10 | Nina |
По запросу извлекается запись с id=5 , как можно узнать номер этой записи в базе данных и номера соседних с ней записей?

P.S. id имеет свойство auto_increment, но записи с id = 3, 4, 7, 8, 9 удалены.
2. DeepVarvar - 22 Октября, 2009 - 01:15:48 - перейти к сообщению
Слушай земляк (я из юхнова)...... если там автоинкремент делаешь - то номер следующей записи уже будет равен +1....
3. whyte - 22 Октября, 2009 - 05:58:26 - перейти к сообщению
DeepVarvar пишет:
Слушай земляк (я из юхнова)...... если там автоинкремент делаешь - то номер следующей записи уже будет равен +1....


меньше
select * from t where id<5 order by id desc limit 1

больше
select * from t where id>5 order by id limit 1
4. Mister - 22 Октября, 2009 - 08:37:56 - перейти к сообщению
DeepVarvar пишет:
Слушай земляк (я из юхнова)...... если там автоинкремент делаешь - то номер следующей записи уже будет равен +1....

Так то оно так, только как быть если записи идут не по порядку, допустим 1, 2, 4, 5, а 3 удалено?
whyte пишет:
меньше
select * from t where id<5 order by id desc limit 1

больше
select * from t where id>5 order by id limit 1

Заработало. Спасибо

 

Powered by ExBB FM 1.0 RC1