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.