Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sortowanie z pobranych wyników?
glacier
post 20.12.2011, 13:01:57
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 13.12.2007

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


Witam,

Mam oto taki problem. Ostatnimi czasy, uczyłem się jak wyciągać rekordy z bazy MySQL za pomocą połączonych tabel. Mam skrypt, który obsługuje serwis z ogłoszeniami motoryzacyjnymi. Są cztery tabele:

1. Ogłoszenia - oglo
2. Marki - marki
3. Modele - modele
4. Zdjecia - photo

Piszę sobie oto taki kod:

  1. SELECT a.ide, a.marka, a.model, a.cena, a.rokprodukcji, p.idoglosz, p.src, p.minisrc, mr.ide, mr.marka, md.ide, md.modele FROM oglo a, photo p, marki mr, modele md WHERE a.ide=p.idoglosz AND a.marka=mr.ide AND a.model=md.ide LIMIT 5


Do tego momentu jest ok. Tworzę pętlę, z której wyciągam 5 rekordów i wszystko wyświetla się prawie tak jakbym sobie tego życzył. Problem zaczyna się w momencie pobranego z tabeli photo miniaturki zdjęcia. Jako, że dodając ogłoszenia, można do jednego dodać kilka zdjęć, system do każdego z nich tworzy miniaturkę (w chili obecnej 3 zdjęcia i 3 miniaturki). Od razu uprzedzę, że nie ma opcji wybrania, które zdjęcie jest zdjęciem "głównym". Miniaturki mają nadawane kolejne numery (np min_01, min_02, min_03). I teraz moje pytanie:

Jak stworzyć kod, czego użyć, do jakiej funkcji, manuala itp się odnieść, aby pętla pobierała mi np. miniaturkę z danego ID samochodu o najmniejszym numerze, zakładając, że zdjęcie główne ma zawsze najmniejszy numer przydzielany przez skrypt przy dodawaniu (np. ogloszenie 1 [min_01 - przod, min_02-bok, min_03 - tyl], ogłoszenie 2 [min_04 - przod, min_05-bok, min_06 - tyl])?
Go to the top of the page
+Quote Post
Ghost_78
post 20.12.2011, 15:18:29
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Może tak...
Ja bym pobrał po najmniejszym ID klucza głównego. Bo jasną jest sytuacją, że pierwszy wgrany plik obrazka miał mniejsze ID niż każdy kolejny smile.gif.


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
glacier
post 22.12.2011, 03:50:14
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 13.12.2007

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


jakaś podpowiedź, link do manuala na temat wspomnianego sposobu?
Go to the top of the page
+Quote Post
Vitka
post 22.12.2011, 08:42:09
Post #4





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 6.02.2006

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


Proponuję wykonać kolejne zapytanie do tabeli ze zdjęciami wyszukując rekordy z danym ID samochodu sortując po ID tabeli ze zdjęciami. W ten sposób powinieneś jako pierwszą miniaturkę otrzymać tą z najmniejszym id dla danego ID samochodu. Coś na zasadzie

  1. SELECT id FROM photo WHERE twoje_id_samochodu ORDER BY id ASC LIMIT 1
Go to the top of the page
+Quote Post
glacier
post 22.12.2011, 15:26:31
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 1
Dołączył: 13.12.2007

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


Witam,

Tak i też zrobiłem. Myślałem, że jest po prostu sposób, aby zrobić to w jednym zapytaniu, a nie wykorzystując pętle w pętli smile.gif

Temat można zamknąć.
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: 13.07.2025 - 23:14