Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Jak poprawnie wyexportowac baze do pliku CSV? co z kodem html? co z innymi znakami, które rozwalają strukture pliku?, Co trzeba zrobić ze znakami nowej lini?
kukix
post 9.05.2009, 11:13:41
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
dr_bonzo
post 9.05.2009, 12:07:49
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


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.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
kukix
post 12.05.2009, 10:03:58
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował kukix 12.05.2009, 10:04:12
Go to the top of the page
+Quote Post
phpion
post 13.05.2009, 15:16:04
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.06.2025 - 08:18