У меня два разных textarea
и я хочу хранить это как в одном поле базы данных с переносами строк. Хорошо работает, если я храню один textarea
значение в поле таблицы, но мне нужно хранить оба textarea
значение в одном поле.
Пример :-
текстера 1)
Hello
text from textarea1
текстовая область 2)
How are you?
its second textarea text
Вывод, который мне нужен, со всеми переносами строк, а также между двумя textarea
значение :-
Hello
text from textarea1
How are you?
its second textarea text
Предположим, что оба значения входят в переменные $textarea1 and $textarea2
соответственно. Вы можете сделать это, как показано ниже:
$combine_data = $textarea1."\n".$textarea2;
ИЛИ ЖЕ
$combine_data = $textarea1 . PHP_EOL . $textarea2; and use nl2br($combined) to show it again in text-area //@iainn suggestion
ИЛИ ЖЕ
$combine_data = $textarea1 ."<br/>". $textarea2;
Ссылка взята: —
Как уже упоминалось, если вы хотите иметь возможность извлекать блоки отдельно (для большей гибкости), но хранить оба в одном столбце, вы можете использовать serialize()
:
Для хранения данных:
$data = array('p1'=>$_POST['textarea1'], 'p2'=>$_POST['textarea2']);
$compress = serialize($data);
//insert value $compress into one column in your database
Чтобы вспомнить данные:
// Get column from database
$data = $row['db_column'];
$decompress = unserialize($data);
// Echo to browser using html break and End Of Line constant (for compatibility)
echo implode('<br />'.PHP_EOL,$decompress);
Вы также можете отобразить каждое значение отдельно после десериализации:
echo $decompress['p1'].'<br />'.PHP_EOL.
$decompress['p2'].'<br />'.PHP_EOL;
Делая это таким образом, вы можете вызывать данные в соответствующих блоках, так что если вы решите что-то изменить позже, у вас все еще будут все сырые данные в блоках.