Autor Zpráva
Sobky
Profil
Dobrý deň!
Potreboval by som pomôcť s PHP skriptom
Väčšinu už mám (niečo som skopíroval z iných stránok) ale potrebujem do toho ešte zaradiť čas! Miesto v tabulke na webe už mám ale všade mi ukazuje ten istý dátum a to tak nechcem!
Skript
<?php
 
$file = "http://www.czech-craft.eu/xml/xyz.xml";
if (!($fp = fopen($file, "r"))) {
    die("Nemohu nacist XML soubor (spatna cesta nebo opravneni?)");
}
 
$data = "";
while ($getline = fread($fp, 4096)) {
    $data = $data . $getline;
}
 
$players = array();
 
$xml = simplexml_load_string($data);
foreach($xml->hlas as $hlas) {
    $meno = (string) $hlas->nick;
    $time = date("d. m. Y H:i:s", strtotime($hlas->cas));
    if(array_key_exists($nick, $players)) {
        $players[$meno]= 1;
    } else {
        $players[$meno]++;
    }
}

arsort($players);
echo "<html><head></head><body>";
echo "<table border=\"1\">";
echo "<tr><th><center>Poradie</center></th><th><center>Nick</center></th><th><center>Počet hlasov</center></th><th><center>Posledný hlas</center></th></tr>";
$poradi = 1;
foreach($players as $meno => $pocet) {
    echo "<tr>";
    echo "<td><center>$poradi.</center></td><td><center>$meno</center></td><td><center>$pocet</center></td><td><center>$time</center></td>";
    echo "</tr>";
    $poradi++;
}
echo "</table>";
echo "</body></html>";
?>
Keeehi
Profil
Je to tím, že si čas neukládáš taky do pole $players ale bereš jen ten poslední.

foreach($xml->hlas as $hlas) {
    $meno = (string) $hlas->nick;
    $time = date("d. m. Y H:i:s", strtotime($hlas->cas));
    if(array_key_exists($nick, $players)) {
        $players[$meno]["pocet"]= 1;
    } else {
        $players[$meno]["pocet"]++;
    }
    $players[$meno]["time"] = $time;
}

uasort($players,function($a, $b) {
    return $b['pocet'] - $a['pocet'];
});
echo "<html><head></head><body>";
echo "<table border=\"1\">";
echo "<tr><th><center>Poradie</center></th><th><center>Nick</center></th><th><center>Počet hlasov</center></th><th><center>Posledný hlas</center></th></tr>";
$poradi = 1;
foreach($players as $meno => $data) {
    echo "<tr>";
    echo "<td><center>$poradi.</center></td><td><center>$meno</center></td><td><center>$data[pocet]</center></td><td><center>$data[time]</center></td>";
    echo "</tr>";
    $poradi++;
}
echo "</table>";
echo "</body></html>";
Sobky
Profil
Diki moc :) a ešte keby som chcel nastaviť aby bol každý druhý riadok inej farby dá sa to?
echo "<td><center>$poradi.</center></td><td><center>$meno</center></td><td><center>$data[pocet]</center></td><td><center>$data[time]</center></td>";
Keeehi
Profil
Dá, ale o řádek výš:
echo "<tr class=\"".($poradi%2==1?"licha":"suda")."\">";
Sobky
Profil
Ale to potom ešte musím nekde zadať aká bude farba ten licha a suda nie? A toto mi vyplní pozadie tej bunky v tabulke ci len text?
Tabetha
Profil
to si nastavíš v css class suda a licha a bude to pre riadok :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: