Как отобразить абзацы в mysql?

Итак, у меня есть база данных и я заполняю таблицу. Я подключаюсь и без проблем заполняю $sqlCommand через php-страницу.

моя проблема в том, что в одном из моих полей есть блоки/абзацы контента. Мне нужны абзацы для отображения, но nl2br() не работает.

Вот как я заполняю (site.com/xtblcreate.php):

// 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' )"; 

Мне нужно, чтобы «много информации» было разбито на два абзаца.

Затем запрос на собственной 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

пожалуйста, будьте осторожны со мной, так как я новичок в этом.


person baltar bsg    schedule 29.03.2014    source источник


Ответы (1)


Управляющие последовательности, такие как \n, не обрабатываются при использовании одинарных кавычек в PHP.

Если вы изменили свой запрос на:

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

Тогда я подозреваю, что nl2br() даст желаемый результат.

person drew010    schedule 29.03.2014
comment
но nl2br() используется в нужной области (в разделе запроса процесса, а не на странице заполнения таблицы)? Кроме того, поскольку я использую полные предложения, повлияет ли это на обработку точек? Я не знаком с \ - person baltar bsg; 30.03.2014
comment
nl2br используется в нужной области, но данные не вставляются с переводом строки, потому что escape-последовательности не превращаются в настоящие символы новой строки. Вы должны прочитать эту страницу, прежде чем идти дальше. - person drew010; 30.03.2014
comment
много для обработки на этой странице. Но, согласно руководству по php, двойная кавычка должна решить проблему. Я правильно понимаю? - person baltar bsg; 30.03.2014
comment
Да, потому что \n не превращается в новую строку, когда она заключена в одинарные кавычки, как показано в вашем посте. Помещение этой строки в двойные кавычки преобразует \n в новую строку, а затем необходимо экранировать кавычки, такие как \"string\", потому что сама строка находится внутри двойных кавычек. Основные части этой страницы для чтения на данный момент — это single quotes и double quotes. - person drew010; 30.03.2014
comment
большое спасибо... надо будет попробовать... как мне проголосовать за вас? лол (просто привыкаю к ​​сайту!) - person baltar bsg; 30.03.2014
comment
Я не думаю, что вы еще можете проголосовать, но вы можете принять ответ, щелкнув слабую галочку слева от области голосования. Это даст вам баллы за принятие. - person drew010; 30.03.2014