Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Textarea, Zawijanie fizyczne tekstu
tjall
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.01.2005

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


Mam problem z umieszczeniem tekstu w bazie i pozniejszym jego wyswietleniu.
Tekst jest wprowadzany w polu textarea:
  1. <?php
  2. echo '<textarea name="news" cols="60" rows="30" wrap="physical"></textarea>';
  3. ?>

Po zapisaniu w bazie tekstu brak jest znakow konca linii. Czy fizyczne zawijanie tekstu nie dodaje takich znaków?
Jak jest lepiej? Wprowadzac tekst do bazy bez znakow konca linii i pozniej za pomoca skryptu wyswietlac kolejne linie? Czy przed wprowadzenie tekstu do baz dodac znaki konca linii?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jesli przed zapisem do bazy nie uzywasz zadnych kosmicznych funkcji, to do bazy zapiszą się tez entery.

pisales cos o wyswietlaniu. jesli ty wyswietlasz te tekst od razu na stronke to ci entery znikną, gdyz w html nową linią jst <br />. Musisz przed wyswietleniem, potraktowac tekst funkcją nl2br()
Go to the top of the page
+Quote Post
tjall
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.01.2005

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


Czyli
  1. <?php
  2. echo '<textarea name="news" cols="60" rows="30" wrap="physical"></textarea>';
  3. ?>

wstawia entery do zmiennej news, tak?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




za bardzo nie rozumiem o co teraz pytasz. pokazales mi tu jak tworyzsz tekstarea. nic do niego z kodu nie wstawiasz. oco pytasz?
Go to the top of the page
+Quote Post
tjall
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.01.2005

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


ok juz tlumacze ....
Do textarea wprowadzam text przewijanie jest fizyczne czyli powinien dodawac znaki konca linii. Ale raczej nie dodaje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) , jak dam reczenie enter to i owszem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Jesli w tekst w bazie bylby zapisywany bez znakow /r/n to przy wyswietlaniu musialbym porcjami pobierac tekst, cos w rodzaju:
  1. <?php
  2.  
  3. print substr($text[2],0,100);
  4. echo '<BR />';
  5.  
  6. ?>

tak w uproszczeniu

Narazie to wyglada tak:

zapisywanie:
  1. <?php
  2.  
  3. echo '<textarea name="news" cols="60" rows="30" wrap="physical"></textarea>';
  4. ....
  5. $query="select max(id) from news";
  6. $mysql_result=mysql_query($query,$db);
  7. $wynik=mysql_fetch_row($mysql_result);
  8. $idn=$wynik[0] + 1;
  9. $sql="insert into news (id,title,text,link,date,autor) values ($idn,'$title','$news','$pic_link','$today','$autor')";
  10. $result=mysql_query($sql,$db);
  11.  
  12. ?>


wywietlanie:
  1. <?php
  2.  
  3. print "<p class=\"style34\">". substr($text[2],0,500) ."</p>";
  4.  
  5. ?>


Cos mi sie wydaje ze trzeba bedzie recznie enterowac ...
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale czy ty wogole uzylesz funkcji co ci podalem? nl2br()? nie widze tego. skrypt co pokazales zachowuje sie prawidlowo. a nie wyswietla ci nowych linii bo pisalem ci ze now linie w html są olewane. musi byc znacznik <br />. i to wlasnie robi nl2br() dopisuje obok enterow znaczik <br />, dzieki czemu masz nowe linie...
Go to the top of the page
+Quote Post
tjall
post
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.01.2005

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


Chyba zle wyluszczylem o co mi chodzilo.
Jak klepie tekscik w textare (przy wrap physically) to przy przejsciu automatycznym do drugiej linii enter sam sie nie doda ... prawda?
A ja tak wlasnie chcialem
Ponizej kod ktory (chyba potwierdza moje przypuszczenia ..

  1. <? 
  2. if($new=="Akceptuj") {
  3. $link = mysql_connect("localhost","root","football") or die("Nie mozna sie polaczyc");
  4. mysql_select_db("sokol2", $link);
  5. $query="insert into test values ('$text')";
  6. $mysql_result = mysql_query($query, $link);
  7. $query="select text from test";
  8. $mysql_result = mysql_query($query, $link);
  9. $result=mysql_fetch_row($mysql_result);
  10. print nl2br($result[0]);
  11.  
  12. }
  13.  
  14. ?>

  1. <form action="test.php" method="post" enctype="application/x-www-form-urlencoded">
  2. <textarea name="text" cols="20" rows="20" wrap="physical"></textarea>
  3. <input name="new" type="submit" value="Akceptuj" />
  4. </form>


Trzeba by chyba jakims skrypcikiem dodawac znaki konca linii co iles znakow ale tez trzeb by zwazac na spacje ... uff.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No i wszystko jasne. prosze, tu masz funkcję, która chyba zrobi to co chcesz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
http://pl.php.net/manual/pl/function.wordwrap.php
Go to the top of the page
+Quote Post
tjall
post
Post #9





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.01.2005

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


Dzieks (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 22:06