Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Jak poprawnie wyexportowac baze do pliku CSV? co z kodem html? co z innymi znakami, które rozwalają strukture pliku?
Forum PHP.pl > Forum > PHP
kukix
Witam.
Mam nastepujący problem.
Próbuje stworzyć generator plików CSV (rozdzielanych średnikiem).
Problem w tym, że znaki nowej lini w pliku otwartym przez exela równiez są w nowej lini,a tak nie powinno być. :/

Co zrobić z kodem html i znakami nowej lini w htmlu, żeby po ponownym wrzuceniu do bazy tekst wygądał tak samo jak wcześniej.

Prygotowałem taką funkcję, którą czyszcze tekst z bazy danych,. ale dalej "entery" wskakują do nowej lini. Dodam, że tekst jest zapisywany do bazy z funkcją nl2br()
  1. <?php
  2. function del($del) {
  3.  
  4.  $del = str_replace(';','',$del);
  5.  $del = str_replace(':','',$del);
  6.  $del = str_replace('(','',$del);
  7.  $del = str_replace(')','',$del);
  8.  $del = hidebr($del);
  9.  $del = str_replace("&ltbr /&gt",'',$del);
  10.  $del = nl2br($del);
  11.  $del = strip_tags($del, '<a>');
  12.  $del = zmiana_z_utf($del);
  13.  
  14.  return $del;
  15. }
  16.  
  17. function zmiana_z_utf($element1) {
  18.  
  19.  $element1 =  iconv('UTF-8','CP1250', $element1);
  20.  return $element1;
  21.  
  22. }
  23. ?>
dr_bonzo
fputcsv" title="Zobacz w manualu PHP" target="_manual ?

  1. <pre><?php
  2.  
  3. $t = array( 'lol', "lorem
  4. ipsum
  5. dolor", 123, 12.95 );
  6.  
  7. $f = fopen( "f.csv", 'w' );
  8. fputcsv( $f, $t, ",", "\"");
  9. fclose($f);
  10.  
  11.  
  12. $f = fopen( "f.csv", 'r' );
  13. $x = fgetcsv($f);
  14. print_r($x);
  15. ?>


Nie mam excela pod reka, ale tak wlasnie sie eksportuje CSV, i nowe linie.

Cytat
Problem w tym, że znaki nowej lini w pliku otwartym przez exela równiez są w nowej lini,a tak nie powinno być. :/

No to je usun, nowa linia to nowa linia, przenosi dalszy tekst do nastepnej linii.
kukix
Cytat(dr_bonzo @ 9.05.2009, 13:07:49 ) *
fputcsv" title="Zobacz w manualu PHP" target="_manual ?

Nie mam excela pod reka, ale tak wlasnie sie eksportuje CSV, i nowe linie.
No to je usun, nowa linia to nowa linia, przenosi dalszy tekst do nastepnej linii.


fputcsv będzie ok..

tylko mam mały problem z uzyskaniem tablicy w formacie:

  1. <?php
  2. $list = array (
  3.    'aaa;bbb;ccc;dddd',
  4.    '123;456;789',
  5.    '"aaa";"bbb"'
  6. );
  7. ?>


dane pobieram z bazy :
  1. <?php
  2. $result = sql("SELECT* FROM tabela");
  3. while($row = mysql_fetch_assoc($result)) {
  4.  
  5. //tutaj zmienne w różnych klolejnościach
  6. $row['text1']
  7. $row['text2']
  8. $row['text3']
  9. }
  10. ?>

jak teraz te pola wrzucić sprawnie do tablicy, żeby otrzymać układ jak w tablicy $list ?
phpion
  1. <?php
  2. $csv = array();
  3.  
  4. $result = sql("SELECT* FROM tabela");
  5.  
  6. while($row = mysql_fetch_assoc($result)) {
  7.    $csv[] = implode(';', $row);
  8. }
  9.  
  10. print_r($csv);
  11. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.