
22.04.2008
Portál Španělský fotbal byl spuštěn, zatím probíhá testování více
06.03.2008
Pracuji na fotbalovém portálu zabývající se španělským fotbalem
12.01.2008
Dokončen fotbalový rezervační systém Profi Football více
08.01.2008
Spuštění modulu Eshopu pro firmu AZ-SportCzech více
04.01.2008
Dokončena prezentace firmy STRAIGHT CONSULT více


Je mi 26 let, bydlím v hlavním městě ČR. Webdesignem a programováním se zabývám již několik let ... více


nechapem
[131]
Jak zkopirovat? Vse podstatne mate v clanku, deklaraci funkce a jeji pouziti. Nic vic v tom neni
Dobrý den, potřeboval bych se zeptat, jestli by jste mi nemohl zkopírovat soubor uložený na vaší adrese http://www.rjwebdesign.net/…ss/index.php a poíslat mejlem. Nevím jak rozjet vaši RSS čtečku a s tímhle to mám jednodušší. Díky za odpověď.
[129] To bych nedelal, kdyby zmenili treba razeni men a napr. EURO by se z radku 5 presunulo na radek 8 tak by ti to nevyslo .. zkus to pres to pole, bude to univerzalnejsi
[128]jo dík, už jsem to vyřešil, sice ne přes pole, ale trošku kostrbatě přes číslo řádku měny
Neděle, 13 .Ledna 2008, 10:08, prečteno 481x
Pokud potřebujete mít na svých webových stránkách aktuální kurzovní lístek, není nic snažšího než si přečíst tento článek.
K získání kurzovního lístku použijeme textový výpis České národní banky. Kurzovní lístek stáhneme dvakrát. Jednou za dnešní datum, podruhé za včerejší. Porovnáme rozdíl kurzů a pak jej přehledně vypíšeme do tabulky. Abychom tuto akci neprováděli zbytečně po každém obnovení stránky, tak si data kešujeme do souboru.
class Kurzy { var $kesLimit = 3600; // 1 hodina function Kurzy() { echo $this->spust(); } function spust() { $this->kesovat(); } function ziskejKurz($url) { $soubor = file($url); $i = 0; $kurzPole = array(); foreach ($soubor as $row) { $i++; if ($i > 2) { $row = trim($row); list($zeme, $mena, $mnozstvi, $kod, $kurz) = explode("|", $row); $kurzPole[$zeme] = array($zeme, $mena, $mnozstvi, $kod, $kurz); } } return $kurzPole; } function porovnejData() { $dnesniDatum = date("d.m.Y"); $vcerejsiDatum = date("d.m.Y", mktime (0,0,0, date("m"), date("d") - 3,date("Y"))); $dnes = $this->ziskejKurz("http://www.cnb.cz/www.cnb.cz/cz/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date=$dnesniDatum"); $vcera = $this->ziskejKurz("http://www.cnb.cz/www.cnb.cz/cz/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date=$vcerejsiDatum"); $finalData = array(); foreach ($dnes as $zeme => $pole) { // nastaveni sipky if ($dnes[$zeme][4] > $vcera[$zeme][4]) $ico = "<img src='up.gif' />"; elseif ($dnes[$zeme][4] < $vcera[$zeme][4]) $ico = "<img src='down.gif' />"; else $ico = ""; // vypocet ceny a pretypovani $cenaDnes = (double)str_replace(",", ".", $dnes[$zeme][4]); $cenaVcera = (double)str_replace(",", ".", $vcera[$zeme][4]); $rozdil = $cenaDnes - $cenaVcera; //země|měna|množství|kód|kurz // finalni ulozeni rozdilovych dat $finalData[$dnes[$zeme][0]] = array( "zeme" => $dnes[$zeme][0], "mena" => $dnes[$zeme][1], "mnozstvi" => $dnes[$zeme][2], "kod" => $dnes[$zeme][3], "kurz" => $dnes[$zeme][4], "sipka" => $ico, "rozdil" => $rozdil ); } return $finalData; } function vykreslitTabulku() { $table = "<table border='1'>"; $table .= "<tr> <th>Země</th> <th>Měna</th> <th>Množství</th> <th>Kód</th> <th>Kurz</th> <th>Ico</th> <th>Rozdíl</th> </tr> "; foreach ($pole = $this->porovnejData() as $klic => $index) { $table .= "<tr> <td>".$pole[$klic]["zeme"]."</td> <td>".$pole[$klic]["mena"]."</td> <td>".$pole[$klic]["mnozstvi"]."</td> <td>".$pole[$klic]["kod"]."</td> <td>".$pole[$klic]["kurz"]."</td> <td>".$pole[$klic]["sipka"]."</td> <td>".$pole[$klic]["rozdil"]."</td> </tr> "; } $table .= "</table>"; return $table; } function kesovat() { if (!is_file("kurzovni-listek.html") or fileMtime("kurzovni-listek.html") < (time() - $this->kesLimit)) { $file = fopen("kurzovni-listek.html", "w+"); fwrite($file, $this->vykreslitTabulku()); fclose($file); readfile("kurzovni-listek.html"); } else { readfile("kurzovni-listek.html"); } }
Mno a třídu použijeme takto
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Kurzovní lístek</title> </head> <body> <?php include("kurzy.php"); echo '<h2>Kurzovní lístek</h2>'; $k = new Kurzy(); ?> </body> </html>
Na ukázku výpisu kurzovního listku se můžete podívat zde
Soubor ke stažení (kurzovni-listek.zip)| Hodnocení: | Počet hlasů: 3 |
ahoj, jak prosímte udělám z toho tvého scriptu aby se mi vypsaly jen některé měny? dík
[1] kuba Snadno, staci si nadefinovat pole men ktere chces zobrazit, a potom to zohlednit v metode ktera bud data ziskava ( ziskas jen ty ktere chces ) nebo ktera je vykresluje …
[2] Roman Jankojo dík, už jsem to vyřešil, sice ne přes pole, ale trošku kostrbatě přes číslo řádku měny
[3] kuba To bych nedelal, kdyby zmenili treba razeni men a napr. EURO by se z radku 5 presunulo na radek 8 tak by ti to nevyslo .. zkus to pres to pole, bude to univerzalnejsi