2014-03-29 3 views
2

좋아, 그래서 데이터베이스가 있고 테이블을 채우고있다. PHP 페이지를 통해 $ sqlCommand에 아무런 문제없이 연결하고 채 웁니다.mysql에서 단락을 어떻게 표시합니까?

내 문제는 내 필드 중 하나는 콘텐츠 블록/단락이 있습니다. 보여줄 단락이 필요하지만 nl2br()은 작동하지 않습니다.

// Create table1 in db x for storing words 
$sqlCommand = "CREATE TABLE table1 (
      id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, 
      a TEXT, 
      b TEXT, 
      c TEXT, 
      d TEXT, 
    page_views INT NOT NULL default '0', 
      FULLTEXT (a,b,c,d) 
      ) ENGINE=MyISAM"; 
    $query = mysql_query($sqlCommand) or die(mysql_error()); 
    echo "<h3>Success creating table1 in db x</h3>"; 

    // Insert dummy data into the table1 in db x 
    $sqlCommand = "INSERT INTO table1 (a,b,c,d) VALUES 
      ('something', 'something else', 'a lot \n of info', 'quick conclusion')"; 

내가해야 할 것은 "많은 정보"입니다이 두 단락 등 파손되는 : 여기

내가 (site.com/xtblcreate.php)를 채우는 방법입니다.

그런 다음 자신의 PHP 페이지에서 쿼리 (site.com/x.php) :이에 새로 온 사람으로

$search_output .= "$count result(s) for <strong>$searchquery</strong><br />"; 
while($row = mysql_fetch_array($query)){ 
     $id = $row["id"]; 
     $a = $row["a"]; 
     $b = $row["b"]; 
     $c = $row["c"]; 
     $d = $row["d"]; 

    $search_output .= "*<br>$a- <br/><b>c: </b>$c<br /> <br /> b: $b<br />finally, d:  $d<br/>"; 
echo nl2br($c); 
    //output $c with paragraphs 

이 날 쉽게 이동하시기 바랍니다.

답변

1

\n과 같은 이스케이프 시퀀스는 PHP에서 작은 따옴표를 사용할 때 처리되지 않습니다. 원하는 출력을 얻을 것입니다

$sqlCommand = "INSERT INTO table1 (a,b,c,d) VALUES 
     ('something', 'something else', \"a lot \n of info\", 'quick conclusion')"; 

가 그럼 난 nl2br()을 의심 :

당신은 당신의 쿼리를 변경 한 경우.

+0

오른쪽 영역 (프로세스의 쿼리 섹션에서 페이지 채우기 페이지가 아닌)에 nl2br()이 사용됩니까? 또한 완전한 문장을 사용하고 있으므로 마침표 처리에 영향을 미칩니 까? 익숙하지 않습니다. " –

+0

nl2br은 오른쪽 영역에서 사용되지만 이스케이프가 설정되어 있지 않으므로 데이터가 개행되지 않습니다 실제 줄 바꿈. 더 진행하기 전에 [이 페이지] (http://www.php.net/manual/en/language.types.string.php)를 읽어야합니다. – drew010

+0

해당 페이지에서 처리 할 항목이 많습니다. 하지만 php 매뉴얼에 따르면, 큰 따옴표로 문제를 해결할 수 있습니다. 나는 제대로 이해하고 있는가? –