| Výuka > Úvod do PHP > Generování tabulky z CSV souboru |
Generování tabulky z CSV souboru - příklad
Nyní nás již čeká zmiňovaný příklad. Úkolem bude vygenerovat HTML tabulku z dat, která jsou uložena v CSV souboru. CSV soubor je obyčejný textový soubor, obsahující data oddělená středníky - viz ukázka:
1999;2000;2001;2002;2003 1255000;2000000;2120000;2200000;3252000 9124000;8599000;6002000;6874000;9999000
Při zpracování takovéhoto souboru budeme muset brát v úvahu, že na konci každého řádku jsou tzv. netisknutelné znaky (konec řádku), které budeme chtít při zpracování do tabulky odstranit.
Tabulku budeme sestavovat po jednotlivých řádcích tzn., že po přečtení a zpracování prvního řádku se bude pokračovat na dalším řádku a to celé se bude opakovat, dokud uvnitř CSV souboru nenarazíme na jeho konec.
Dále budeme předpokládat, že počet středníků v jednotlivých řádcích je totožný (tento předpoklad bývá většinou splněn).
Při práci s CSV souborem budeme pro jistotu testovat, zda je soubor dostupný a zda je s ním možno pracovat. Více již v následující ukázce:
<?php
# test na práci se souborem
$fp=fopen("data.csv", "r+");
if (!$fp) {
echo "<p>Nemohu pracovat se souborem.\n";
exit;
}
# začátek tabulky
echo ("\n<table border=\"1\">\n");
while (!feof($fp))
{
echo (" <tr>\n <td>");
# přečtení řádku ze souboru
$radek = fgets($fp);
# odříznutí netisk. znaků na konci řádku
$radek = chop($radek);
# rozděl. dat do tabulky (nahrazení středníků)
$radecek=ereg_replace(";",
"</td>\n <td>",$radek);
# vypsání řádku
echo $radecek;
echo ("</td>\n </tr>\n");
}
# konec tabulky
echo ("</table>");
fclose($fp);
?>
31.08.2007, 13:40 vytvořil Administrator
