![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 27.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pewien duży problem.
Pracuję z edytorem CKEditor. Wysyłam treść do bazy danych. Chciałbym teraz zmienić tą treść za pomocą tego samego formularza (pod textarea podpięty CKEditor). Formularz składa się z tego textarea oraz selecta. W momencie zmiany selecta powinna wpisać się treść z odpowiedniego miejsca z bazy danych. Można to zrobić ajaxem, wiem niemniej jednak ja robię to tak (pseudokod): 1. pobierz za pomocą php info z bazy $q = "SELECT id, name FROM tabela ORDER BY id";y $r = mysqli_query($dbc, $q); if (mysqli_num_rows($r) >= 1) { while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { $maxId = $row['id']; $bookmarkContent[$row['id']] = $row['bookmarkContent']; } } 2. mam więc tablicę z pobranymi argumentami pora wtrącić to do javascript echo ' <script language="JavaScript" type="application/javascript"> var tablica = new Array(); '; for ($i = 1; $i <= $maxId; $i++) { $tekst = htmlspecialchars_decode($bookmarkContent[$i]); $tekst = str_replace(' ', '<br />', $tekst); print "tablica[$i] = '$tekst';"; } 3. a następnie funkcja ''wpychająca'' te texty do wyswiga echo 'function zakladkaDoEdycji2(form) { yourInt = parseInt(form); CKEDITOR.instances.bookmarkEditor.setData(tablica[form]); } </script>'; Wywołanie funkcji wygląda tak onchange="zakladkaDoEdycji2(this.form.changableBookmarksList.value)" a name obiektu(textarea) to bookmarkEditor I teraz pojawia się problem bo jak do jednego elementu tablicy jest wpisywany bardzo długi tekst to się wykrzacza. Z tej strony http://www.truuck.boleslawiec.pl/przepe%C5...enie_stosu.html dowiedziałem się (czego domyślałem się wcześniej) że przepełniam tablicę a tym samym stos. pytanie jak to zrobić żeby działało. W skrócie zmiana selekta ma spowodować wpisanie tekstu z bazy danych do textarea do którego podpięty jest wyswig. JAK TO ZROBIĆ? Ten post edytował pikornecki 18.10.2011, 21:40:07 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
znak nowej linii w windowsie to \r\n, w linuxie to \r, w macu to \n więc znaki specjalne \r i \n mógłbyś zamieniać na spacje gdyż tak jest wyświetlana nowa inia w html'u i nie piszę o br - ale to tak k' woli tego o co bezpośrednio pytałeś...
w zrobisz duuuużo lepiej jeśli lukniesz na funkcję w php json_encode czy podobnie się zwie i już po problemie szybka konwersja Twojej tablicy jedną funkcją (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 05:01 |