Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> następny i poprzedni wiersz z zapytania
kanan
post 12.01.2007, 11:20:02
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 22.10.2004

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


Czy istnieje możliwość takiego pooperowania kodem SQL, by uzyskać identyfikator poprzedniego i następnego rekordu następującego po wybranym wierszu?

Idea jest prosta mam wyszukiwarkę, która składa się z kilku pól i ona generuje pewne wyniki wyszukiwania, np.
dla tabeli ZAKUPY ( przykładowo )
id_rekordu | nazwa_produktu | ilosc_produktow | klient
1 | ser | 2 | kowalski
2 | mleko | 12 | kowalski
3 | ser | 12 | marcel
4 | ser | 22 | jurzsyyk
5 | mleko | 3 | iksik

I teraz chciałbym uzyskać tych klientów, który kupili ser, czyli wyniki wyszukiwania powinny zwrócić następujące osoby:

id_rekord | klient
1 | kowalski
3 | marcel
4 | jurzsyyk



I teraz w momencie wyświetlenia wyników wyszukiwania wybieram do wyświetlenia informacje o kliencie 3, a także chciałbym posiadać informacje dotyczace wcześniej w jaki sposób można uzyskać informacje o rekordzie, który jest przed nim w wynikach wyszukiwania, czyli o klienci (1) oraz następującego po nim.

Oczywiście oprócz wybraniach danych należało by wykonać ponownie zapytanie wyszukujace, tylko w jaki sposób dostać do poprzedniego i następującego po nim? Jak to będzie w przypadku gdy lista zwróconych wyników zostanie posortowana według kolumny klient, więc uzyskamy takie wyniki:
id_rekord | klient
4 | jurzsyyk
1 | kowalski
3 | marcel

Teraz klient 3 nie ma nastepnika, natomiast poprzednikiem jest ten z identyfikatorem 1.

Czy można to w ogóle rozwiązać bez używania php ? Jeśli tak to jak można to zrobić, a jeśli nie, to jaki jest najlepszy zrobienia tego w php?
Go to the top of the page
+Quote Post
ww-06
post 22.01.2007, 15:45:45
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.12.2006

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


Cytat(kanan @ 12.01.2007, 11:20:02 ) *
Czy istnieje możliwość takiego pooperowania kodem SQL, by uzyskać identyfikator poprzedniego i następnego rekordu następującego po wybranym wierszu?

Idea jest prosta mam wyszukiwarkę, która składa się z kilku pól i ona generuje pewne wyniki wyszukiwania, np.
dla tabeli ZAKUPY ( przykładowo )
id_rekordu | nazwa_produktu | ilosc_produktow | klient
1 | ser | 2 | kowalski
2 | mleko | 12 | kowalski
3 | ser | 12 | marcel
4 | ser | 22 | jurzsyyk
5 | mleko | 3 | iksik

I teraz chciałbym uzyskać tych klientów, który kupili ser, czyli wyniki wyszukiwania powinny zwrócić następujące osoby:

id_rekord | klient
1 | kowalski
3 | marcel
4 | jurzsyyk

I teraz w momencie wyświetlenia wyników wyszukiwania wybieram do wyświetlenia informacje o kliencie 3, a także chciałbym posiadać informacje dotyczace wcześniej w jaki sposób można uzyskać informacje o rekordzie, który jest przed nim w wynikach wyszukiwania, czyli o klienci (1) oraz następującego po nim.

Oczywiście oprócz wybraniach danych należało by wykonać ponownie zapytanie wyszukujace, tylko w jaki sposób dostać do poprzedniego i następującego po nim? Jak to będzie w przypadku gdy lista zwróconych wyników zostanie posortowana według kolumny klient, więc uzyskamy takie wyniki:
id_rekord | klient
4 | jurzsyyk
1 | kowalski
3 | marcel

Teraz klient 3 nie ma nastepnika, natomiast poprzednikiem jest ten z identyfikatorem 1.

Czy można to w ogóle rozwiązać bez używania php ? Jeśli tak to jak można to zrobić, a jeśli nie, to jaki jest najlepszy zrobienia tego w php?


Dodaj najpierw jakieś pole w tej samej tabeli np. nr_kolejny typu auto_increment, jak znajdziesz klienta to odczytaj jego numer_kolejny, wtedy poprzedni to : numer_kolejny-1, a następny to numer_kolejny+1 (o ile już taki istnieje).
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 01:33