Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Problem ze zmienną
Mody23
post 7.07.2011, 22:53:26
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


Witam!

Mój problem polega na tym, że mam pewien kod:

  1. if ( $profiledata['user_spend_time'] >= 24 * 3600 )
  2. {
  3. $spend_time = $lang['Days'] . ': ' . round(($profiledata['user_spend_time'] / 24 / 60 / 60), 1);
  4. }
  5. else
  6. {
  7. $spend_time = $lang['Hours'] . ': ' . round(($profiledata['user_spend_time'] / 60 / 60), 1);
  8. }
  9. }


i chcę w miejsce gdzie w jest zmienna $tutaj:

  1. if ( $profiledata['user_spend_time'] >= 24 * 3600 )
  2. {
  3. $spend_time = $lang['Days'] . ': ' . round(($profiledata['user_spend_time'] / 24 / 60 / 60),$tutaj 1);
  4. }
  5. else
  6. {
  7. $spend_time = $lang['Hours'] . ': ' . round(($profiledata['user_spend_time'] / 60 / 60), 1);
  8. }
  9. }


wyświetlić napis: "Godzin". Ale niestety, wstawianie tam:

  1. $lang['Hours'] . ': ' .


czy też za pomocą zmiennej, czyli przed początkującym if'em coś takiego:
  1. $tutaj = $lang['Days'] . ': ' .;

Nie skutkuje...Cały czas mam jakieś błędy. Jak mogę to zrobić?


Obecnie otrzymuję taki efekt:

Dni: 14,1

a chcę: Dni:14, Godzin:1

Ten post edytował Mody23 7.07.2011, 22:57:25
Go to the top of the page
+Quote Post
gorden
post 7.07.2011, 23:11:45
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


operator . jest łącznikiem i nie możesz go wstawić przed średnikiem, to raz
a dwa to pokaż jak wyświetlasz to godziny i dni bo nie widze żadnego echo.

może zapisz do oddzielnych zmiennych godziny i dni i wyświetlaj tak:
  1. echo 'Dni:'.$dats.', godzin:'.$hours;
Go to the top of the page
+Quote Post
muk4
post 7.07.2011, 23:11:46
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Możesz wziąć tę liczbę i pociąć funkcją explode(). Wtedy dostaniesz całość i resztę.

I wyświetlasz:
Dni: $calosc , Godzin: $reszta

Ten post edytował muk4 7.07.2011, 23:12:43
Go to the top of the page
+Quote Post
Mody23
post 7.07.2011, 23:21:58
Post #4





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


'USER_SPEND_TIME' => $spend_time,

Wyświetlam tak: {USER_SPEND_TIME}.

A czy naprawde nie da rady tam wcisnąć żadnej zmiennej?
Go to the top of the page
+Quote Post
toaspzoo
post 7.07.2011, 23:35:44
Post #5





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


zawsze da rade


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
Mody23
post 7.07.2011, 23:37:12
Post #6





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


Możesz jaśniej?

Zrobiłem to tak:

  1. if ( $profiledata['user_spend_time'] )
  2. {
  3. $spend_time_days = $lang['Days'] . ': ' . round(($profiledata['user_spend_time'] / 24 / 60 / 60);
  4. $spend_time_hours = $lang['Hours'] . ': ' . round(($profiledata['user_spend_time'] / 60 / 60);
  5. $spend_time_minutes = $lang['Minutes'] . ': ' . round(($profiledata['user_spend_time'] / 60);
  6. }


Potem:

  1. 'USER_SPEND_TIME_DAYS' => $spend_time_days,
  2. 'USER_SPEND_TIME_HOURS' => $spend_time_hours,
  3. 'USER_SPEND_TIME_MINUTES' => $spend_time_minutes,


I w widoku powinienem mieć: {USER_SPEND_TIME_DAYS}, ale napotyka mnie taki błąd:

Parse error: syntax error, unexpected ';

W tej linijce:

  1. $spend_time_days = $lang['Days'] . ': ' . round(($profiledata['user_spend_time'] / 24 / 60 / 60);


Ten post edytował Mody23 7.07.2011, 23:41:53
Go to the top of the page
+Quote Post
ano
post 7.07.2011, 23:41:10
Post #7





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. if ( $profiledata['user_spend_time'] >= 24 * 3600 )
  2. {
  3. $czas = round(($profiledata['user_spend_time'] / 24 / 60 / 60), 1);
  4. $spend_time = $lang['Days'] . ': ' . (int)$czas .' '. $lang['Hours'] .': '.(($czas - (int)$czas)*10);
  5. }
  6. else
  7. {
  8. $spend_time = $lang['Hours'] . ': ' . round(($profiledata['user_spend_time'] / 60 / 60), 1);
  9. }
  10. }


proszę wink.gif


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
Mody23
post 7.07.2011, 23:43:54
Post #8





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


A nie działa biggrin.gif

Ten post edytował Mody23 7.07.2011, 23:45:17
Go to the top of the page
+Quote Post
ano
post 7.07.2011, 23:46:47
Post #9





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


tzn? Jakiś błąd wyskakuje? Coś więcej... //moze sie pomyliłem w apostrofach ;p


--------------------
Linkedin | ...
Go to the top of the page
+Quote Post
toaspzoo
post 7.07.2011, 23:47:43
Post #10





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


zaraz wejdę na komputer, to pokombinuję


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
muk4
post 7.07.2011, 23:53:00
Post #11





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


  1. function parseTime($time){
  2. $r = 'Spędziłeś na stronie ';
  3. if($time >= 86400){
  4. $r .= floor($time / 86400) . ' dni ';
  5. $time = $time % 86400;
  6. }
  7. if($time >= 3600){
  8. $r .= floor($time / 3600) . ' godzin ';
  9. $time = $time % 3600;
  10. }
  11. if($time >= 60){
  12. $r .= floor($time / 60) . ' minut ';
  13. $time = $time % 60;
  14. }
  15. if($time >= 1){
  16. $r .= $time . ' sekund ';
  17. }
  18. return $r;
  19. }
  20.  
  21. echo parseTime('3601'); # Spędziłeś na stronie 1 godzin 1 sekund
  22. echo parseTime('1234567'); # Spędziłeś na stronie 14 dni 6 godzin 56 minut 7 sekund


Ten post edytował muk4 8.07.2011, 00:00:21
Go to the top of the page
+Quote Post
Mody23
post 11.07.2011, 09:38:51
Post #12





Grupa: Zarejestrowani
Postów: 276
Pomógł: 0
Dołączył: 30.06.2010

Ostrzeżenie: (10%)
X----


Mam jeszcze pytanie co do sposodu by ano. Zrobiłem sobie tak samo z godzinami i minutami:

  1. $czass = round(($profiledata['user_spend_time'] / 60 / 60),1);
  2. $spend_time = $lang['Hours'] . ': ' . (int)$czass .' '. $lang['Minutes'] .': '.(($czass - (int)$czass)*10);
  3. }


Natomiast wydaje mi się, że to trochę nie działa, bo cały czas mam u siebie:

Godzin: 3 Minut: 1 - pomimo że siedzę już 10 min. A to się nie aktualizuje. Co pominąłem?
Go to the top of the page
+Quote Post
muk4
post 13.07.2011, 22:22:32
Post #13





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


A ja ci taką fajną funkcję napisałem... closedeyes.gif
I się męczysz... tongue.gif

Ten post edytował muk4 13.07.2011, 22:24:10
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:39