![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Wybieram sobie z bazy dane takim oto zapytaniem:
Kod SELECT name,day,odm FROM tabela ORDER BY day,odm Myślę że nigdy w tabeli nie będzie więcej jak 50 rekordów. Potrzebuje mieć wynikowy kod w podobnej formie: udało mi się na te chwilę coś takiego napisać i stanąłem:
Pomóżcie proszę. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Przecież już jedną pętlę wykonałeś, po co chcesz robić pętlę w pętli?
Tego warunku nie rozumiem (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Przecież już jedną pętlę wykonałeś, po co chcesz robić pętlę w pętli?
Tego warunku nie rozumiem (IMG:style_emoticons/default/biggrin.gif)
Porównuje czy dzień w bazie danych nie ma numeru takiego jak ten przypisany do zmiennej $day żeby wyświetlać tylko raz dany dzień, jakby było 50 rekordów to poco mi wyświetlać 50 razy diva z numerem dnia? Pewnie zamiast <> mogłem dać !== też by robiło to samo. Wydawało mi się że tak powinienem to zrobić że powinna być koleja pętla która iteruje po rekodach z danego dnia, ale przecież nie napisałem że tak ma być napewno (IMG:style_emoticons/default/smile.gif) skoro da się inaczej to chętnie poznam sposób. Ten post edytował arturpiotrowski 26.03.2017, 19:11:29 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Niree juz ci raz tlumaczylem co oznacza operator roznosci <>. Naprawde jeszcze nie zakumales? (IMG:style_emoticons/default/tongue.gif)
@artur zrobiles prawie dobrze, niestety w pewnym momencie zamotales sie w dwoch stylach. Pierwszy styl to grupowanie na "zywo". Drugi styl to wpierw przygotowanie danych, a potem ich wyswietlanie. Ja ci opisze drugi styl, gdyz uwazam za go za bardziej poprawny - najpierw logika, potem wyswietlanie. A wiec, najpierw przygotowujesz sobie tablice by miec tablice z dniami a w niej dane
Wyswietl sobie $data na koniec by zrozumiec co powstalo: print_r($data); A teraz to juz tylko proste wyswietlanie:
Powód edycji: [nospor]:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki nospor chyba o to chodzilo.
Moglbym jeszcze prosic o podpowiedz co zrobic aby w tablicy data day bylo zawsze 7 kluczy od 1 do 7 a zmienna row byla przypisana tylko do tego dnia ktory jest w kolumnie day w bazie. Przepraszam ale pidze ze smartfona |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat aby w tablicy data day bylo zawsze 7 kluczy od 1 do 7 Moge zapytac po co tak bzdurny wymog odnosnie kluczy? Cytat a zmienna row byla przypisana tylko do tego dnia ktory jest w kolumnie day w bazie No przeciez jest... albo ja nie rozumiem co tu wlasnie napisales
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie, pisałem krótko bo ze smartfona trudno się pisze, a więc wyjaśniam
Ad 1. Tydzień ma 7 dni i będę robił terminarz 7-dniowy jak puste to nic nie wyświetli w divie ale chcę mieć tego diva z id dnia, bo na górze nad tym będą linki ajaksowe które po kliknięciu będą przenosić do konkretnego diva, a jak nie będzie diva to gdzie mają przenieść? Ad 2. Jest i jest ok tylko że jak dodałbym klucze 1-7 do tej tablicy to chcę wyświetlać dane tylko przy tych kluczach które mają dane w bazie danych. |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Niby napisales wiecej ale dalej nic nie kumam o co ci chodzi
1-7 to sa dni tygodnia. Majac date, masz tez dzien tygodnia wiec na dobra sprawe masz wszystko co chcesz. Nadal nie wiem w czym problem |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Tu nie ma dat w tej bazie są tylko numery dla dni tygodnia. Załózmy że mam 2 zadania 3 dnia tygodnia, godziny 15-16, i 16-19 moj kod html fragmentu strony chcę aby wyglądał wtedy mniej więcej tak
Jak widać każdy dzień tygodnia ma swój div - domyślnie ukryty. Po odpowiednim oprogramowaniu tego np w jQuery jak teraz kliknę w Poniedziałek to div id=day-1 zmieni klasę z hide na show i wyświetli mi zawartość diva o id day-1, kliknę na wtorek zmieni się klasa hide na show w div id = day-2 i powróci hide w poniedziałek itd. przy kolejnych dniach. W twojej wersji przy założeniu powyższych danych stworzy się tylko Pytanie co się pokaże w twojej wersji jak kliknę na wtorek, w założeniu powinien się pokazać div id = day-2 ale go nie ma w tym kodzie. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
@Niree juz ci raz tlumaczylem co oznacza operator roznosci <>. Naprawde jeszcze nie zakumales? (IMG:style_emoticons/default/tongue.gif) Zgadza się, wybacz, nie zaglądałem na forum. Korzystam częściej z operatora "!=" (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to skoro day to dzien tygodnia, to w tablicy ktora ci generuje wygeneruj brakujace klucze. No naprawde nie wiem w czym problem.
Skoro ja na podstawie danych generuje ci kluce powiedzmy 1,4,7 to jaki problem przeleciec petla FOR od 1 do 7 i sprawdzic jakich kluczy brakuje i dogenerowac je sztucznie? Przedszkole przedszkolem no ale nie przesadzaj za bardzo. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Tak tez zrobilem juz wczesniej tylko ci teraz opisalem jak to ma wygladac skoro wczesniej nie dosc czytelnie opisałem. Jak bede w domu przekleje tu caly kod jaki zmajstrowalem, bo znowu piszę z komórki celem weryfikacji czy dobrze to zrobiłem.
|
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Az przeczytalem jeszcze raz i nigdzie nie wynika wczesniej ze tak wlasnie zrobiles (IMG:style_emoticons/default/wink.gif) No nic, dobrze ze jednak to zrobiles (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem to wczoraj wieczorem po tym jak napisałem posta, ta pętla for chodziła mi po głowie, ale poza tym pisałeś że to bzdurny pomysł te klucze, więc się nie wychylałem z tym co zrobiłem bo myślałem że może walne jakąś głupotę (IMG:style_emoticons/default/smile.gif)
i reszta z twojego postu, tj kolejne pętle foreach
Ten post edytował arturpiotrowski 30.03.2017, 17:25:58 |
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale poza tym pisałeś że to bzdurny pomysł te klucze Bo zle cie zrozumialem. Myslalem ze masz normalne daty i chcesz rekordy numerowac od 1 do 7 (IMG:style_emoticons/default/smile.gif) Nom i tak jak zrobiles jest dobrze (IMG:style_emoticons/default/smile.gif) edit: jedyne co to teraz mozesz wywalic to: if(!isset($data[$day])){ $data[$day] = []; } poniewaz $data[$day] jest zawsze ustawione przez ciebie wczesniej |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 13:32 |