Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] pobieranie rekordu poprzedniego i następnego
tomall
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.03.2009

Ostrzeżenie: (0%)
-----


Witam
Jest sobie baza danych ze zdjęciami.
Kod wyświetlający pojedyncze zdjęcie jest taki:
  1. SELECT * FROM galery WHERE id='$id'


id jest auto_increment.

Chciałbym przy tym pojedynczym zdjęciu dodać linki do zdjęcia następnego oraz poprzedniego. Wszystko było by proste, gdyby id leciało po kolei. Ale kiedy usuwa się jakieś zdjęcie to powstają dziury np. id=1,2,5,7, itp.

Nie wiem czy istnieje jakieś zapytanie, które pobiera sąsiednie rekordy?

z góry dzięki za odpowiedź.

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cudny
post
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Proponuję dodać kolumnę aktywny i zamiast kasować rekordy dać 1-aktywny, 2-nieaktywny.
W ten sposób robisz pętlę i dajesz dekrementację rekordu + warunek że jeśli nie aktywny raz jeszcze dekrementacja i tak dalej - w końcu wyjdzie, które id je poprzednie i aktywne.

To moja propozycja - wtedy zawsze masz wszystko po kolei.

pzdr

Można jeszcze nie ingerować w bazę - dajesz
  1. SELECT id FROM galery WHERE id < 8 ORDER BY id DESC LIMIT 1

wtedy masz ostatnie id mniejsze od 8 czyli jeśli istnieją id 1,2,3,5,6,8 to pobierze ci id nr 6

pzdr

Ten post edytował cudny 27.09.2009, 11:52:16
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 15:30