Autor | Zpráva | ||
---|---|---|---|
Sobky Profil |
#1 · Zasláno: 14. 6. 2014, 21:26:15
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 |
#2 · Zasláno: 14. 6. 2014, 22:01:54
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 |
#3 · Zasláno: 14. 6. 2014, 22:35:37
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 |
#4 · Zasláno: 14. 6. 2014, 23:04:46
Dá, ale o řádek výš:
echo "<tr class=\"".($poradi%2==1?"licha":"suda")."\">"; |
||
Sobky Profil |
#5 · Zasláno: 15. 6. 2014, 07:40:35
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 |
#6 · Zasláno: 15. 6. 2014, 16:43:46
to si nastavíš v css class suda a licha a bude to pre riadok :-)
|
||
Časová prodleva: 10 let
|
0