Cytat(VegetaSSJ @ 22.04.2007, 11:40:19 )

Wiem kolego. w rzeczywistości kolumna 'kol1' ma wartości int, jest kluczem głównym z atrybutem autoicrement, chodzi tylko o to że może się zdarzyć że jak mam n=53 to nie ma wiersza n-1 ponieważ został wcześniej usuniety, chyba zostaje mi napisanie skryptu który będzie sprawdzał czy jest n-1, jeżeli nie to n-2 itd tylko czy może da się coś takiego napisać z poziomu sql aby uniknąć wysyłania masy zapytań ?
Ja bym zrobił tak bez zadnego kombinowania:
1. pobierasz id (numer) wiersza: "select `n` from `tabela` where kol1='abc'", zalozmy ze wynik zwrócony n=53,
2. pobierasz pierwszy wiersz o numerze mniejszym od tego n: "select * from `tabela` where `n`<53 LIMIT 1" -czyli przerwie przeszukiwanie tabeli po znalezieniu pierwszego wiersza o n<53
3. pobierasz pierwszy wiersz o numerze wiekszym od n: "select * from `tabela` where `n`>53 LIMIT 1"
moze sie zdazyc ze selecty z punktów 1, 2 lub 3 nic nie zwrócą więc bedziesz musiał jeszcze zabezpieczyc skrypt na taka ewentualnosc. Powodzenia i napisz jak poszło!