![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.12.2006 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? 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). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 01:33 |