![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam skrypt który generuje listę wyboru dat z godzinami - jest to rodzaj systemu rezerwacyjnego dla przychodni lekarskich. Skrypt wygląda następująco:
Próbowałem już różnych rzeczy i chciałem żeby skrypt przy wykonywaniu pętli wykluczał wszystkie opcje które będą podawane przez zmienną $zajety. Są to dokładnie takie same ciągi. Chciałem to zrobić pętlą for, ale z jakiegoś powodu nie działa mi na datach. Wpadłem na to while, ale nie bardzo wiem jak sprawę rozwiązać dalej. Prosiłbym o jakieś wskazówki ew. przykłady. Mnie się skończyłu pomysły. A że niestety jestem początkujący to za dużo ich nie mam. Z góry dzięki za waszą pomoc Wpadłem jeszcze na coś takiego:
ale to też mi pokazuje całą pętlę. bez wyłączenia $zajety. ![]() Pls pomocy bo już zupełnie nie wiem co zrobić a nie daje mi to spokoju. Ten post edytował jacusek 8.12.2009, 23:47:22 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale to też mi pokazuje całą pętlę. bez wyłączenia $zajety. A ja kiedyś najpierw zjadłem jabłko, a dopiero potem sprawdziłem, czy nie jest zatrute...no i się zatrułem.... Tak samo u ciebie: najpierw wyswietlasz a dopiero potem sprawdzasz czy to nalezalo wogole wyswietlic i jestes niesamowicie zdziwiony ze sie wyswietliło ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie bardzo wiem jak to sprawdzić.
Dlaczego np nie działa taka opcja:
zatrzymuje mi się na zmiennej $zajety i dalej się nie wznawia. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat No właśnie nie bardzo wiem jak to sprawdzić. o rety. no napisałem ci w czym problem a ty jakbys wogole tego nie przeczytał...przeciez ty sprawdzasz, sek w tym ze za późno...
No przeciez z logicznego punktu widzenia, ktory nie ma nic do programowania, najpierw musisz sprawdzic, a dopiero potem jakby co wyswietlic
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dzięki nospor
![]() ![]() Działa to ale nie do końca. Co teraz zrobić, jeżeli terminów jest więcej niż 1 zajęty żeby je wszystkie wyłączał? To niestety nie funkcjonuje. Wyłącza tylko ten najwyższy. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no to niech $zajęty bedzie tablicą a poźniej sprawdzasz przy pomocy in_array()
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ok.
Zrobiłem coś takiego
I niestety nadal to nie działa. Dodatkowo nie pokazuje pierwszego wiersza z pętli tylko od razu przechodzi do drugiego ![]() Nie wiem czy o to chodziło. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
kurcze.... ale weź zajrzyj do manuala jak należy uzywac in_array() a nie strzelasz jakieś kody z kosmosu... przedzież w manualu masz to opisane, nawet masz podane przykłady.
Jak tak dalej bedziesz podchodził do sprawy to temat zamkne to może wówczas odrobinę się zmotywujesz ![]() kolejna sprawa: nie:
a:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki i gratulacje za cierpliwość
![]() Tylko mam ostatnie pytanko na które nie ma pomysłu jak rozwiązać. Mianowicie w liście rozwijanej przestała się pokazywać pierwsza data z pytania $sql za to pokazuje się jedna za dużo powyżej $koniec. Jako pierwsza pokazuje się już powiększona o wartość $czas. Co z tym można zrobić? ta pierwsza wartość też musi być przecież $termin co wynika z konieczności użycia jej jako zmiennej później. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
to pokaz caly kod bo rzeczy o ktorych tu mowisz nie ma w tym kodzie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
oto cały kod. Był powyżej ale rzeczywiście w kawałkach:
generalnie wiersze w tabeli rozwijanej wyglądają następująco 2009-12-14 15:00 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie pojawia ci sie pierwsza data, bo na dzien dobry w petli zwiekszasz $termin o $czas
pojawia ci sie o jeden termin za duzo, bo dla koncowego warunku ty zwiekszasz znowu $termin o $czas Stąd te przesunięcia ![]() Tym razem zastanow sie bardziej jak to poprawic ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Szczerze mówiąc nie wiem jak to zrobić. Udało mi się nawet wstawić do wyświtlania pierwszą wartość poprzez Próbowałem użyć break ale nie wiedzieć czemu pokazuje mi przed ostatnią wartość z tablicy. Dodatkowo nie spełnia się dla pierwszej wartości warunek if(in_array).
Nie wiem może źle szukam. Ale siedzę nad tym od wczoraj ![]()
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mowiac, ze na dzien dobry w petli zwiekszasz termin, mialem na mysli wlasnie to i nic innego. Nie wiem skad ci nagle do glowy wpadl ten break.
Skoro ci mowie, ze zwiekszasz cos na samym poczatku petli a nie powinienes, to znaczy tyle, ze zamiast zwiekszac na poczatku masz to zwiekszac na koncu petli. Nie doszukuj się zadnych ukrytych przekazów bo takowych tu nie ma. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dobra powiem jak ja rozumuję i popraw mnie gdzie popełniam błąd.
deklaruję że pętla ma się kończyć jak osiągnie koniec.
zaczyna się od $poczatek
no właśnie i tutaj następuje sprawdzanie
No ale jak ma coś sprawdzać skoro pętla nie ma z czego wykonywać jeżeli to będzie pod koniec. Z tego co rozumiem, to tak to powinno wyglądać, ale nie działa i nie wiem w czym rzecz. Ja rozumiem to co mi piszesz, że od razu zwiększam o wartość $czas. Ale po pierwsze dlaczego nie kończy się na $koniec mimo że ma taki warunek w while i jak mogę zadeklarować początek tabeli, tak żeby warunek in_array też się dla niego spełniał. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat No ale jak ma coś sprawdzać skoro pętla nie ma z czego wykonywać jeżeli to No i dlatego to daj pod koniec (tylko zwiekszanie $termin. reszte kodu zostaw), a ten termin sobie formatuj na początku bez zwiekszania go:[PHP] pobierz, plaintext $termin=date("Y-m-d G:i", strtotime("+$czas second", strtotime($termin))); "<br>"; echo '<option value=>'.$termin.'</option>'; będzie pod koniec. $termin=date("Y-m-d G:i", strtotime($termin)); kapisz? Calego kodu ci nie podam bo czas troche wysilic szare komorki ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem kod tak jak mówiłeś i nadal nie działa.
![]()
Ale po pierwsze przy rezerwacji pierwszego terminu nie traktuje go jako $zajete - czyli mimo rezerwacji nadal się wyświetla - i druga sprawa nadal zwiększa się $koniec o wartość $czas. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
przeciez to:
$termin=date("Y-m-d G:i", strtotime("+$czas second", strtotime($termin))); miales dac na koniec petli... Wiesz co to jest koniec petli? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
w taki przypaku w ogóle mi się nie wykonuje. Już na prawdę kompletnie nie rozumiem na czym to polego
![]() ![]() ![]() ![]() ![]()
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:11 |