Autor | Zpráva | ||
---|---|---|---|
Vavroch Profil |
#1 · Zasláno: 27. 3. 2008, 19:59:57
Zdravím
Mám dotaz,data z formuláře ukládám do csv souboru. Jak ale data z csv načíst a vypsat,resp.povedlo se mi je vypsat,ale pouze na jeden řadek a já bych potřeboval dodržet skrukturu CSV souboru. Poradí někdo? Díky za každou radu Zde je zdrojový kod pro výpis <?php //Export z csv souboru $export = fopen("export.csv","r"); //Definice promenne a prizareni fce fopen s parametry(nazev souboru,pristup prava) $vypis = fread($export,500); echo $vypis ; fclose($export); ?> |
||
nightfish Profil |
#2 · Zasláno: 27. 3. 2008, 20:08:52
while (!feof($export)) { echo fgets($export); } |
||
Vavroch Profil |
#3 · Zasláno: 27. 3. 2008, 20:19:27
Díky
Udělal jsem to takto,ale data jsou vypsána velice zvláštně,jako by se zobrazovali spravně jen nově zaznamenané a navíc když použiji pro druhý parametr fopen 5000 místo 500,vypise to warning anic jineho,pro jistotu pridavam skoro cely ZK: <?php //Export z csv souboru $export = fopen("export.csv","r"); //Definice promenne a prizareni fce fopen s parametry(nazev souboru,pristup prava) $vypis = fread($export,500); while (!feof($export)) { echo fgets($export); } fclose($export); ?> <?php //Export do csv souboru $export = fopen("export.csv","r+"); //Definice promenne a prizareni fce fopen s parametry(nazev souboru,pristup prava) fwrite($export,"Mail;Jmeno;Telefon;O co má zájem;Jeho vzkaz\r\n"); //Fce pro zapis (prizareni prom a vypis hodnot,na konci odrad) fclose($export); //Fce pro uzavreni handlu souboru $export = fopen("export.csv","a+"); fwrite($export,"$mail;$name;$telefon;$select;$zprava\r\n"); fclose($export); //Export z csv souboru $export = fopen("export.csv","r"); //Definice promenne a prizareni fce fopen s parametry(nazev souboru,pristup prava) $vypis = fread($export,500); while (!feof($export)) { echo fgets($export); } fclose($export); ?> |
||
peta Profil |
#4 · Zasláno: 28. 3. 2008, 10:49:00
jednoduche csv muzes resit takto:
function csv_escape($str) { $str = str_replace(array('"', ',', "\n", "\r"), array('""', ',', "\n", "\r"), $str, &$count); if ($count) {return '"' . $str . '"';} return $str; } function from_csv($str_csv) { $arr_csv = explode("\r\n",$str_csv); //\n | \r\n foreach($arr_csv as $key=>$value) {$arr_csv[$key] = explode(",",$value);} return $arr_csv; } function to_csv($arr_csv) { foreach($arr_csv as $key=>$value) { foreach($value as $key1=>$value1) {$value[$key1] = $this->csv_escape($value1);} $arr_csv[$key] = implode(",",$value); } $str_csv = implode("\r\n",$arr_csv); //\n | \r\n return $str_csv; } jenze v realnem plati prave ta funkce csv_escape. php ma vlastni parsovac a ten ja prave nemuzu pouzit, protoze pracuje se souborem. fputcsv nebo tak neco. |
||
nightfish Profil |
#5 · Zasláno: 28. 3. 2008, 13:11:19
Vavroch
$vypis = fread($export,500); ten řádek vymaž |
||
Vavroch Profil |
#6 · Zasláno: 28. 3. 2008, 14:00:47
Tak jsme to nakonec vyřešil takto:
A funguje to celkem dobre zatím... //Export z csv souboru $row = 1; // inicializace, řádek If (File_Exists($soubor)) //kontrola existence souboru { $file_csv = fopen ($soubor, "r"); //otevření souboru echo "<table border='1' align='center'>"; //začátek tabulky while ($data = fgetcsv ($file_csv, 1000, ";")) //cyklus který postupně přečte všechny řádky tabulky ... { //... řádek potom rozdělí na jednotlivé hodnoty do pole $data echo "<tr>"; //nový řádek tabulky $num = count ($data); //zjistí počet sloupců echo "<td>".$row.".</td>"; //první sloupec bude obsahovat číslování řádků for ($c=0; $c<$num; $c++) //cyklus pro výpis jednotlivých hodnot tabulky { echo "<td>"; echo $data[$c]; //výpis konkrétní hodnoty echo "</td>"; } $row++; //inkrementuje číslo řádku o 1 echo "</tr>"; //konec řádku } echo "</table>"; fclose ($file_csv); //uzavře soubor } else { echo "<b>Soubor neexistuje</b><br>"; //pokud soubor neexistuje,tak co..tak nic:) } |
||
Vavroch Profil |
#7 · Zasláno: 28. 3. 2008, 14:01:59
Tak jsme to nakonec vyřešil takto:
A funguje to celkem dobre zatím... //Export z csv souboru $row = 1; // inicializace, řádek If (File_Exists($soubor)) //kontrola existence souboru { $file_csv = fopen ($soubor, "r"); //otevření souboru echo "<table border='1' align='center'>"; //začátek tabulky while ($data = fgetcsv ($file_csv, 1000, ";")) //cyklus který postupně přečte všechny řádky tabulky ... { //... řádek potom rozdělí na jednotlivé hodnoty do pole $data echo "<tr>"; //nový řádek tabulky $num = count ($data); //zjistí počet sloupců echo "<td>".$row.".</td>"; //první sloupec bude obsahovat číslování řádků for ($c=0; $c<$num; $c++) //cyklus pro výpis jednotlivých hodnot tabulky { echo "<td>"; echo $data[$c]; //výpis konkrétní hodnoty echo "</td>"; } $row++; //inkrementuje číslo řádku o 1 echo "</tr>"; //konec řádku } echo "</table>"; fclose ($file_csv); //uzavře soubor } else { echo "<b>Soubor neexistuje</b><br>"; //pokud soubor neexistuje,tak co..tak nic:) } |
||
Časová prodleva: 16 let
|
0