NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: http_build_query a cesky format datumu

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

Aktivity
Avatar
Richard
Inzerent nabídek práce
Avatar
Richard:5.12.2016 16:09

Zdravím,

pomocí http_build_query si vytvářím do URL seznam parametrů, které získávám z formu. Jeho součástí jsou i položky typu Date ale v českém formátu, konkrétně 'dd.mm.yyyy' třeba 30.9.2016.

Ten http_build_query mi však to datum převede do '2016-09-30' což pak hodí chybu ve formuláři na dané stránce kam se to přesune (formulář očekává 30.9.2016).

Zatím to řeším tak, že na po vytvoření formuláře hned provedu:

if (isset($_GET['do'])&&(!empty($_GET['do'])))
{
        $_GET['do'] = DateUtils::formatDate($_GET['do']);

}

Tzn. opravuji hodnoty, které vstupují z GET proměnných do formuláře.

Ale neexistuje nějaké elegantnější řešení? Jak třeba v tom stringu co vyrobí http_build_query elegantně změnit formát data u požadovaných položek (tedy u těch co mají být datum a co zároveň nejsou empty).

Díky předem za rady a tipy.

Richard

Odpovědět
5.12.2016 16:09
Udělej to teď - možná nebudeš mít už čas to udělat později
Avatar
katrincsak
Člen
Avatar
katrincsak:5.12.2016 17:30

Já bych udělal tohle.

1. Rozkouskuji datum na pole podle tečky, neboli společného identifikátoru a pak si to spojím podle toho jak potřebuji. (možná jsem zaměnil pořadí, ale mělo by to být takto).

$datumPole = explode(".",$datum);
$noveDatum = $datumPole[2].".".$datumPole[1].".".$datumPole[0];
Editováno 5.12.2016 17:32
 
Nahoru Odpovědět
5.12.2016 17:30
Avatar
Richard
Inzerent nabídek práce
Avatar
Odpovídá na katrincsak
Richard:6.12.2016 16:32

Diky. Ja mel na mysli nejaky princip jak to resit.

Kdyz uz mi to http_build_query vyrobi pak to zase rozbijet na jednotlive casti neco v nich konvertovat a pak zase slozit dohromady - to pak nema http_build_query smysl.

Co mne napadlo proste misto http_build_query si to poskladat pomoci stringu z jednotlivych polozek sam a s vyuzitim urlencode.

Spis mi slo o algoritmicke zamysleni, nez konkretni vec jak to udelat. Ale i tak ti diky za nazor.

Nahoru Odpovědět
6.12.2016 16:32
Udělej to teď - možná nebudeš mít už čas to udělat později
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.