Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z Exportem danych z bazy do Excella, Problem z Exportem danych z bazy do Excella
kilinho
post 8.05.2008, 11:01:04
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


Witam.

Wypelniam formularz (textarea) i robie enter (przejscie do nowej lini). Zapisuje dane do bazy MySQL. Exportuje teraz te dane (spreadsheet)do Excela i tu się robi problem, ponieważ cała dana powinna być zapisana w jednej komórce a zostaje rozdzielona na nowe komórki ze względu na enter wciśnięty podczas wypełniania formularza.

Jak rozwiązać ten problem, aby dane zostały zapisane w jednej komórce a nie rozdzielone na inne?



Proszę o pomoc.
Go to the top of the page
+Quote Post
Black-Berry
post 8.05.2008, 11:11:16
Post #2





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Skoro problemem sa entery to zanim wyślesz dane z textarea to bazy usuń zbędne entery z ciągu znaków. Funkcja:
  1. <?php
  2. str_replace('znak_enter', '', $ciąg);
  3. ?>
powinna Ci w tym dopomóc smile.gif Musisz jeszcze tylko jakoś dowiedzieć się jak zakodowany jest enter. Zazwyczaj będzie to albo '\n' albo \r\n' lbo coś w tym rodzaju.


--------------------
Go to the top of the page
+Quote Post
kilinho
post 8.05.2008, 11:21:04
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


Właśnie ten sposób nie działa. Ani explode("\n lub \r\n", $tekst) ze zlaczeniem wszystkich tablic (.=), ani str_replace.

moze jest jakis inny sposób?
Go to the top of the page
+Quote Post
piotrooo89
post 8.05.2008, 11:26:14
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a spróbuj kod ASCII entera podać


--------------------
Go to the top of the page
+Quote Post
kilinho
post 8.05.2008, 11:54:26
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


$zmienna = str_replace(chr(13), '', $zmienna);
takze nie dziala.
a jak zrobie np: $zmienna = str_replace(chr(13), 'cos tam', $zmienna);
to i widzi enter i zmienia go jakby na 'cos tam' w excelu i tak jest wszystko rozbite na komorki
Go to the top of the page
+Quote Post
Black-Berry
post 8.05.2008, 12:04:07
Post #6





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Zamiast do bazy zapisz do pliku cuiąg znaków z textarea (jesli juz nic nie pomaga). Użyj jakiegoś sprytnego edytora który widzi ukryte znaki. W ten sposób dowiesz sie dokładnie co to za znak i będziesz go mógł zastąpić. Ewentualnie (to juz hardcore). Zapisuj do pliku z enterami a potem odczytaj plik jako tablicę i połącz poszczególne linie za pomocą operatora łaczenai stringów "." Kropki. (Ostatni sposób jest drastyczny. Jestem pewien ze mozna to zrobić lepiej).

Ten post edytował Black-Berry 8.05.2008, 12:06:03


--------------------
Go to the top of the page
+Quote Post
kilinho
post 8.05.2008, 12:35:18
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


zabawa z plikami odpada, moze ktos zna jeszcze inny sposob?
Go to the top of the page
+Quote Post
Black-Berry
post 8.05.2008, 13:38:36
Post #8





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Jest jeszcze funkcja Explode ale tez musiałbys znać kod znaku enter (podobnie jak w string_replace). Rozbiłbyś w ten sposób cały ciąg na tablicę oddzieloną tymi enterami, po czym złożył w całość łącząc poszczególne stringi.


--------------------
Go to the top of the page
+Quote Post
kilinho
post 8.05.2008, 13:40:06
Post #9





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


juz tak robilem, takze nie dziala
Go to the top of the page
+Quote Post
Black-Berry
post 8.05.2008, 13:46:50
Post #10





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Widze, że strasznie się z tym męczysz... Zapisz choć raz do pliku.txt całość z formularza i zobacz jak te entery u ciebei wyglądają.


--------------------
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: 19.07.2025 - 17:25