IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Premena času v PHP

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Marek Burda
Člen
Avatar
Marek Burda:18.5.2017 15:37

Ahoj. Tak som tu znovu s problémom ktorý sa snažím vyriešiť dlhšie no neúspešne. ide o to, že mám na stránke vec ktorá trvá 8 hodín. Ak má dotyčný používateľ membership, čakacia doba (8 hodín) sa mu skracuje. Záleží na type membershipu. (bronze -10% , silver -20%, gold -30%) Doteraz som pracoval len s minútami - to mi klapalo dobre no teraz už pracujem aj z hodinami a tu nastáva problém. Hlavne aj pri výpise. Chcem vypýsať v poslednom riadku vetu podobnej tejto : Trvanie : 8 h / 5 h (to 8 hodín je prečiarknté to uvidíte v kóde)
Takže dávam tu celý kód :

$mtimee = "28800";  // nastavenie času - 8 hodín
$mtimerse = time("h \h", $mtimee); // tu som sa snažil tento čas prerobiť na hodiny a minúty no nefunguje to.
if($vypis1["memb_type"]=="bronze"){$mtimee = $mtimee*0.9;} // ak má user membership bronze, čas bdue trvať o 10% kratšie
if($vypis1["memb_type"]=="silver"){$mtimee = $mtimee*0.8;} //20%
if($vypis1["memb_type"]=="gold"){$mtimee = $mtimee*0.7;} //30%
if($vypis1["membership"]=="1"){$mtimerse = "<strike> $mtimerse  </strike> / <font color='yellow'><strong>$mtimee</strong></font>";} // tu kód zisťuje či má dotyčný membership. ak áno, jeho trvanei sa vypýše tak ako som spomínal hore čiže prečiarknutý starý čas a nový čas. Ak membership nemá tak sa yvypíše čas zhora čiže len 8 hodín
echo "
<strong> / Trvanie:</strong> $mtimerse </strong>";
 
Odpovědět
18.5.2017 15:37
Avatar
Odpovídá na Marek Burda
Uživatel sítě :18.5.2017 17:24

Ahoj, pokud jsem správně pochopil tak něco takového by ti mohlo vyhovovat:

<?php
$seconds = 28800;  //8 Hodin
if($vypis1['membership'] == '1'){
    $endTime = $seconds;
  if($vypis1['memb_type'] == 'bronze'){
      $endTime = $endTime * 0.9;  //o 10%
  }elseif($vypis1['memb_type'] == 'silver'){
      $endTime = $endTime * 0.8;  //o 20%
  }elseif($vypis1['memb_type'] == 'gold'){
      $endTime = $endTime * 0.7;  //o 30%
  }
    echo "<strong> / Trvanie:</strong> <strike> " . gmdate('H:i:s', $seconds) . "  </strike> / <font color='yellow'><strong>" . gmdate('H:i:s', $endTime) . "</strong></font> </strong>";
}else{
    echo "<strong> / Trvanie:</strong> " . gmdate('H:i:s', $seconds) . "  </strong>";
}

Výpis si uprav dle svých potřeb, ta žlutá je celkem nepříjemná.. :D

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
18.5.2017 17:24
Chybami se člověk učí, běžte se učit jinam!
Avatar
Marek Burda
Člen
Avatar
Marek Burda:18.5.2017 18:53

Na modrom pozadí je celkom pekná :D Ďakujem za pomoc samozrejme že to klape :) :P

 
Nahoru Odpovědět
18.5.2017 18:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.