Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlanie danych z pola typu text
Forum PHP.pl > Forum > Przedszkole
Virus
Witam. Niedawno zacząłem się uczyć PHP + MySQL. Postanowiłem zrobić panel administracyjny do mojej stronki, gdzie będę mógł zarządzać newsami oraz komentarzami. Już zrobiłem prawie wszystko, ładnie działa. Tylko pojawił się problem z wyświetlaniem tekstu z bazy danych z pola typu 'text'. 

Oto ten kawałek kodu:

  1. $result=mysql_query("SELECT * FROM comments WHERE comment_news_id=".$comment_news_id);
  2. $num=mysql_numrows($result);
  3. $i=0;
  4. while ($i < $num) {
  5. $author=mysql_result($result,$i,"author");
  6. $comment_id=mysql_result($result,$i,"comment_id");
  7. $date=mysql_result($result,$i,"date");
  8. $content=mysql_result($result,$i,"content");
  9. echo "<tr><td><b>".$comment_id."</td><td>".$author."</td><td align='justify'>";
  10. echo $content;
  11. echo"</td><td>".$date."</td><td><a href=''><img src='edit.png'></a></td><td><a href='delete_comment.php?news_id=".$comment_news_id."&comment_id=".$comment_id."'><img src='delete.png'></a></td></tr>";
  12. $i++;
  13. }





I chodzi mi tutaj o pole content. Komentarze w tym przypadku są dodawane przez formularz, a pole content (czyli treść) jest odbierane z <textarea> i zapisywane do bazy danych. Podam przykład:

Kod
</P><P>Pierwsza linijka.</P><P>Druga Linijka.</P><P>


Wpisuję takie coś do formularza, kilkam DODAJ - rekord jest dodawany do bazy danych. W PHP My Admin pokazuje mi taki sam układ wierszy, ale gdy próbuję wyświetlić zawartość komentarza kodem PHP na stronie, to efekt jest następujący:

Kod
Pierwsza linijka. Druga linijka.


Jak zrobić, żeby wyświetlało mi tekst w poszczególnych wierszach, a wszystko ciurem w jednej linijce?
paw-e-l
Ja tu widzę 2 możliwe przyczyny
  1. jeśli w źródle strony nie ma znacznika akapitu <p> to by oznaczało że gdzieś masz czyszczenie z tagów html (strip_tags)
  2. ustawione css dla akapitów 'float: left'
bogdan89
Cytat(Virus @ 12.09.2009, 21:58:27 ) *
Jak zrobić, żeby wyświetlało mi tekst w poszczególnych wierszach, a wszystko ciurem w jednej linijce?


funkcja: nl2br
zamienia ona znaki nowej linii na xhtml'owski "<br/>"

wrzuć do tej funkcji zmienną z pobraną z bazy zawartością:
  1. echo nl2br($content);
Virus
Dzięki wielkie za pomoc. Człowiek się natrudzi, nie wiadomo co zacznie kombinować, a tu wystarczy jedna krótka funkcja ;)
nospor
mała uwaga:
jak pobranie z bazy danych ci działa to nie jest to problem MYSQL. Nie umieszczaj wiec w tego w dziale MYSQL...

przenosze

ps: jak ktos ci pomogl (czytaj bogdan89) to dobrze jest go nagrodzić POMOGŁ i oznaczyć w ten sposob temat jako rozwiązany
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.