![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Jestem nowym użytkownikiem, cieszę się, że znalazłem to forum i chciałem wszystkich przywitać (IMG:style_emoticons/default/smile.gif) Mój pierwszy post będzie dotyczył problemu z tablicami, a mianowicie proszę spojrzeć na kod:
Chodzi o to by, nie zwracało mi wyniku tylko i wyłącznie typu: 1 lata 2 dnia 5 miesiac - tylko 1 rok 2 dni 5 miesięcy. Męczę się z tym nie miłosiernie i nie mogę tego rozwiązać. Proszę o jakąkolwiek pomoc, jeżeli będzie potrzeba więcej szczegółów odnośnie problemu postaram się dopisać jak najwięcej. Skrypt po wpisaniu w formularzu html i naciśnięciu przycisku dzięki ajaksowi bez odświeżania zamienia wpisaną ilość sekund na ilość sekund, minut, dni, godzin, miesięcy i lat. I wszystkie nazwy lat, miesiecy, dni itd. idą z jednej tablicy. I chodzi mi o to, co mam dopisać aby nazwy z tablicy odmieniały się przez przypadki, tzn. nie były sztywne. Jak już pisałem, nie 2 lat, tylko 2 lata itd. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 2 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ten zapis nie zrobi tego co Ty chcesz. Od 21 linii (po zakończeniu pętli foreach) zwracana wartość jest w $zawartosc; Ty natomiast w warunku sprawdzasz czy aktualny miesiąc (obecnie date("m") zwróci wartość String("06"), za 11 dni String("07")) należy do pewnych liczb. Warunek w sumie też jest niepoprawnie zapisany, jak już powinno powinno być: Jeśli ten kod miałby zostać to zmodyfikowałbym go tak: 1. Zostawić kod do 21 linii + return; 2. W pętli foreach w odpowiednim miejscu dodać switch w którym sprawdzałby zmienną $czas_sekundy (chyba źle nazwana bo przechowuje wartości takie jak "lat", "miesiące" itp); 3. Np. jeśli case 'miesiac' to wtedy dodać odpowiednie ify i ustalić zmienną np. $czas_slownie="miesięcy"; 4. Wpakować zmienną $czas_slownie do $zawartosc |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A w którym miejscu wstawił byś switch w tej pętli foreach?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 2 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
@bercik809 musisz sam pokombinować (IMG:style_emoticons/default/wink.gif) A jak nie to dział giełda.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Część kodu, który działa tak jak potrzebuje:
Myślałem, że się udało. Chociaż, nie do końca działa. Mieszają się minuty z dniami i miesiącami. Hmmm... Ten post edytował bercik809 21.06.2013, 10:10:02 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 2 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Właśnie w tym jest problem, jak daję taki kod:
To wskakuje na default i nic się nie zmienia. Tylko pozostają jednostki z tablicy - nie odmieniają się. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 2 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Co masz w zmiennej $czas_sekundy a co porównujesz w switch? (hint: spacja)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
$czas_sekundy przechowuje tablice:
i to właśnie w switch muszę porównać z tą tablicą. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 2 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie zrozumieliśmy się: popatrz, $czas_sekundy zawiera:
a) String(4) " rok" (IMG:style_emoticons/default/cool.gif) String(8) " miesiac" A ty w switch porównujesz z: a) String(3) "rok" (IMG:style_emoticons/default/cool.gif) String(7) "miesiac" Co nie jest to samo. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zamieszczam kod HTML:
Kod PHP:
Przetestujcie proszę i dajcie znać co jest nie tak. Bo wiem, że coś mi źle liczy. Tylko nie za bardzo wiem, jak wykombinować aby liczyło dobrze. Dzięki! |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 19.06.2013 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Prosiłbym wszystkich o przetestowanie tego skryptu i proszę powiedzcie mi co jest w nim nie tak.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 08:26 |