![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 2 Dołączył: 19.04.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Witam, zrobiłem sobie wywołanie z bazy które ma mi wyciągać po jednym z aktywnych szkoleń (w bazie pokaz=1) najbliższym do dzisiejszej daty i jest prawie OK, ale... gdy jest dodane szkolenie z jakąś data, które oczywiście się wyświetla i dodam kolejne z nieco wcześniejszą datą niż ta już dodana to dalej wyświetla mi tamto dalsze wcześniej dodane szkolenie, tak jak by nie brał pod uwagę tych z nowszą datą, ale z wyższym ID - dodanych później.
w bazie: szklenia - głowna tabela gdzie jest ID, DATA_szkolenia, IDszkolenia, IDnauczyciela, IDrodzaj_szkolenia które łączę za pomocą Lft JOIN z następnymi szkolenia_rodzaje - tabela gdzie są wylistowane wszystkie szkolenia, łącznie z opisami itd szkolenia_miasta, nauczyciele - oczywiście miasta i nauczyciele szkolący, mało ważne tutaj w kontrolerze mam:
select_one w modelu to nic innego jak
w widoku wyciągam już bez kombinowania:
przypuszczalnie moim błedem jest to że chcę to wyciągnąć jednym zapytaniem i kombinuję z PHP w nim, bo gdy wcześniej miałem to w strukturalce zrobione na zasadzie - jedno zapytanie o rodzaje szkoleń, a w nim w pętli zapytanie o najbliższe dat z danego szkolenia to wszystko grało... przechodzę teraz całą stroną na MVC i mnie to nieco przytłoczyło, a nie chce dziadować, poradźcie bardziej doświadczeni panowie i panie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie widzę nigdzie w zapytaniu do bazy frazy w stylu "ORDER BY es.dataszkolenia DESC".
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 2 Dołączył: 19.04.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Niestety, przepraszam zapomniałem to tutaj wstawić, bo też już kombinowałem z ORDERami i uznając że zapytanie to nie bierze ich pod uwagę, po prostu je olałem... aczkolwiek pozostawiam dodaję je ponownie bo w sumie masz rację, mógłby to być jeden z powodów... może trzeba będzie całkiem zmienić zapytanie i połączyć je inaczej niż LEFT JOIN? Spróbuję dzisiaj jeszcze zmienić to na zasadzie kilkukrotnego zagnieżdżenia zapytania zamiast LJ.
Niepokoi mnie ta pętla for w tym zapytaniu, przypuszczalnie ona miesza kolejność i wyrzuca ostatnią bądź pierwszą napotkaną... Ten post edytował adek- 14.11.2012, 15:38:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 22:18 |