Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Exportem danych z bazy do Excella
Forum PHP.pl > Forum > PHP
kilinho
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.
Black-Berry
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.
kilinho
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?
piotrooo89
a spróbuj kod ASCII entera podać
kilinho
$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
Black-Berry
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).
kilinho
zabawa z plikami odpada, moze ktos zna jeszcze inny sposob?
Black-Berry
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.
kilinho
juz tak robilem, takze nie dziala
Black-Berry
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ą.
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.