kilinho
8.05.2008, 11:01:04
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
8.05.2008, 11:11:16
Skoro problemem sa entery to zanim wyślesz dane z textarea to bazy usuń zbędne entery z ciągu znaków. Funkcja:
<?php
?>
powinna Ci w tym dopomóc

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
8.05.2008, 11:21:04
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
8.05.2008, 11:26:14
a spróbuj kod ASCII entera podać
kilinho
8.05.2008, 11:54:26
$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
8.05.2008, 12:04:07
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
8.05.2008, 12:35:18
zabawa z plikami odpada, moze ktos zna jeszcze inny sposob?
Black-Berry
8.05.2008, 13:38:36
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
8.05.2008, 13:40:06
juz tak robilem, takze nie dziala
Black-Berry
8.05.2008, 13:46:50
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.