Odečítání času a porovnání Vyřešeno
Napsal: 23 pro 2015 14:33
Zdravím, potřebuji v php sestrojit script, který mi rozřadí data do 3 tabulek podle času.
1 Tabulka bude se všemi daty za celý rok, 2 tabulka se všemi daty za 1 měsíc a třetí za aktuální den.
Získávám data z xml souboru, čas získávám v tomto stylu "d. m. Y H:i:s". Jedná se o součet hlasů, tudíž mi dělá problém i odečítání a přičítání hlasů v jednotlivých tabulkách. Pokud má tedy uživatel 2 hlasy tento den, 5 hlasů za měsíc a 7 hlasů za rok, aby se to navzájem posčítalo. Takže v tomto dnu by se objevilo 2, v měsíci 7 a v roku 7.
Těžko se to vysvětluje, potřebuji ale opravdu pomoci. Lámu si tu hlavu už dva dny, ale pořád to tak nějak nevychází.
Začátek kód, který je podstatný.
Následně podmínka, který by říkala, dnes je 23.12.2015, zahlasoval uživatel dnes? Ano? Pak ho vypiš do tabulky, ne? Pak ho ověř v měsíci.
Hlavní problém je v tom, že nevím jak ověřit, zda-li je 23.12.2015 opravdu tento měsíc, či není a pokud není pokračovat dál, pokud je přičíst hlas.
Pro upřesnění ještě dodávám následující ukázkový kód. Pro lepší přehled.
Děkuji za rady a nápady.
1 Tabulka bude se všemi daty za celý rok, 2 tabulka se všemi daty za 1 měsíc a třetí za aktuální den.
Získávám data z xml souboru, čas získávám v tomto stylu "d. m. Y H:i:s". Jedná se o součet hlasů, tudíž mi dělá problém i odečítání a přičítání hlasů v jednotlivých tabulkách. Pokud má tedy uživatel 2 hlasy tento den, 5 hlasů za měsíc a 7 hlasů za rok, aby se to navzájem posčítalo. Takže v tomto dnu by se objevilo 2, v měsíci 7 a v roku 7.
Těžko se to vysvětluje, potřebuji ale opravdu pomoci. Lámu si tu hlavu už dva dny, ale pořád to tak nějak nevychází.
Začátek kód, který je podstatný.
Kód: Vybrat vše
foreach (new SimpleXMLElement($xml, null, true) as $vote) {
$name = (string)$vote->nick;
$date = (int)strtotime($vote->cas);
Následně podmínka, který by říkala, dnes je 23.12.2015, zahlasoval uživatel dnes? Ano? Pak ho vypiš do tabulky, ne? Pak ho ověř v měsíci.
Kód: Vybrat vše
if (!isset($players[$name]) && ($dnesniDatum == $date))// Neděste se, nevím jak to vymyslet s tím časem
Hlavní problém je v tom, že nevím jak ověřit, zda-li je 23.12.2015 opravdu tento měsíc, či není a pokud není pokračovat dál, pokud je přičíst hlas.
Pro upřesnění ještě dodávám následující ukázkový kód. Pro lepší přehled.
Kód: Vybrat vše
//Mám hlas od uživatele, který byl zadán 22.12.2015 (včera)
if(2 == 2) { //Hlasoval uživatel dnes? Pokud ano vypiš, pokud ne pokračuj
echo 'Pravda1';
} elseif(1 == 1) { //Hlasoval uživatel v tomto měsící? ANO! 22.12.2015 je tento měsíc. Vypiš a ukonči se.
echo 'Pravda2';
} elseif(3 == 3) {
echo 'Pravda3';
}
//Mám hlas od uživatele, který byl zadán 22.10.2015 (před 2 měsíci)
if(2 == 2) { //Hlasoval uživatel dnes? Pokud ano vypiš, pokud ne pokračuj
echo 'Pravda1';
} elseif(1 == 1) { //Hlasoval uživatel v tomto měsící? NE! Tak pokračuj dál
echo 'Pravda2';
} elseif(3 == 3) { //Hlasoval uživatel tento rok? ANO! Tak ho vypiš.
echo 'Pravda3';
}
Děkuji za rady a nápady.