![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mamy trzy tabele: Groups(id,name), Products(id,prod_name,group_id) PromoGroups(id, group_id) Do tabli PromoGroups zapisujemy grupy które są w promocji, następmnie z czym mam problem: Potrzebuje pobrać 3 losowe rekordy z tabeli PromoGroups, następnie, trzy rekordy z Groups gdzie id = group_id, następnie 4rekordy z products gdzie group_id = Groups.id. Chodzi o to żeby na stronie głównej wyświetlane były 3 grupy promocyjne towarów. Prosze o wszelkie sugestie jak Wy byście to rozwiązali. Z góry dziękuję za podpowiedzi. Ten post edytował Polidiota 20.01.2009, 11:21:10 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
A Ty chcesz wyświetlić grupy? Czy towary z tych grup?
Ja osobiście nie rozumiem (przynajmniej po tym opisie) sensu istnienia tabeli PromoGroups, nie lepiej jakieś dodatkowe pole w Groups, którego wartość 1 oznaczałaby, że jest promowany? Ten post edytował EarthCitizen 20.01.2009, 11:10:57 |
|
|
![]()
Post
#3
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Proszę poprawić tytuł temat, same taki nim nie są. W przeciwnym wypadku temat zostanie zamknięty.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
A Ty chcesz wyświetlić grupy? Czy towary z tych grup? Ja osobiście nie rozumiem (przynajmniej po tym opisie) sensu istnienia tabeli PromoGroups, nie lepiej jakieś dodatkowe pole w Groups, którego wartość 1 oznaczałaby, że jest promowany? Chce wyświetlić nazwe grupy i pierwsze 4 produkty z tej grupy(w jednym divie). Divów będzie w sumie trzy, będą się one tworzyć w pętli. Co do tabeli PromoGroups, chce dać możliwość w cmsie zaznaczanie grup które będą w promocji, wyświetlają się wszystkie grupy, użytkownik zaznacza sobie te grupy które będą w promocji, gdy zaznaczy np. 5 grup, system pobiera losowo tylko 3 grupy. Ten post edytował Polidiota 20.01.2009, 11:28:55 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wklej mi strukturę tych 3 tabel...
BTW: piszesz CMSa i masz z tym problem? Spróbuj przynajmniej napisać jakie rozwiązanie chodzi Ci po głowie... Nie zawsze dostaniesz pełną odpowiedź lub gotowy skrypt... Musisz w końcu zacząć jakoś dochodzić do rozwiązań samodzielnie... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Struktura Tabel: Groups: | id | group_name| Products: |id|product_name|image|group_id| Promo_groups: id|group_id|
A rozwiązanie jakie mi przychodzi na myśl to hmm. Może jakiś join:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cos w ten desen bedzie
Ten post edytował kefirek 20.01.2009, 12:19:34 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 12.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedzi:)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
No nie do końca...
bo z każdej grupy ma być po 4 produkty o ile dobrze zrozumiałem i 3 różnych grup, tak? A te zapytanie (nie testowałem) ale chyba zwróci 3 po prostu losowe rekordy wyniku złączenia, nie koniecznie z 3 różnymi grupami... Co do łączenia to łączyłbym tylko PromoGroups i Groups....
Ale to zapytanie też nie jest odporne na duplikaty, trzeba dodać GROUP BY group_id chyba... Później wynik z tego dać do prostego zapytania
Te sortowanie na końcu jest potrzebne aby łatwiej było w pętli wypisać produkty z tych samych grup w kolejności... P.S. po pracy sprawdzę te zapytanie i odpiszę, ale pewnie będzie do tej pory już gotowa odpowiedź... Ten post edytował EarthCitizen 20.01.2009, 12:24:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 09:20 |