Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem ze zmienną
Forum PHP.pl > Forum > Przedszkole
Mody23
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
gorden
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;
muk4
Możesz wziąć tę liczbę i pociąć funkcją explode(). Wtedy dostaniesz całość i resztę.

I wyświetlasz:
Dni: $calosc , Godzin: $reszta
Mody23
'USER_SPEND_TIME' => $spend_time,

Wyświetlam tak: {USER_SPEND_TIME}.

A czy naprawde nie da rady tam wcisnąć żadnej zmiennej?
toaspzoo
zawsze da rade
Mody23
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);
ano
  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
Mody23
A nie działa biggrin.gif
ano
tzn? Jakiś błąd wyskakuje? Coś więcej... //moze sie pomyliłem w apostrofach ;p
toaspzoo
zaraz wejdę na komputer, to pokombinuję
muk4
  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
Mody23
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?
muk4
A ja ci taką fajną funkcję napisałem... closedeyes.gif
I się męczysz... tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.