MYSQL, Не получается записать данные в поле типа TEXT

T
На сайте с 02.02.2015
Offline
35
684

Кусок кода :

echo '<hr/><h1>'.$profile[0]->innertext.'</h1>';

$profile = $profile[0]->innertext;
echo 'Сфера деятельности : '.$sfera[0]->plaintext;
$sfera = $sfera[0]->plaintext;
echo '<br/>Город : '.$fuladres[1]->plaintext;
$gorod = $fuladres[1]->plaintext;
echo '<br/>Адрес : '.$fuladres[2]->plaintext;
$adres = $fuladres[2]->plaintext;
echo '<br/>Телефон : '.$phone[0]->plaintext;
$phone = $phone[0]->plaintext;
//echo '<br/>Часы работы : '.$workinghours[0]->outertext;
echo '<br/>Кратко об организации : '.$opisanie[0]->plaintext.'<hr/>';
$opisanie = $opisanie[0]->plaintext;

$date = date("Y-m-d H:i:s");
echo $today;
mysql_query("INSERT INTO `cms_uc_items` (`category_id`, `title`, `pubdate`, `published`, `imageurl`, `fieldsdata`, `hits`, `is_comments`, `tags`, `rating`, `meta_desc`, `meta_keys`, `price`, `canmany`, `user_id`, `on_moderate`, `seolink`) VALUES
(1066, '$profile', '$date', 1, '', '---\n-' '$sfera\n-' '$gorod\n-' '$adres\n-' '$phone\n- ''<p>*$opisanie </p>''\n', 1, 1, '', 0, '$profile', '', 0, 1, 1, 0, '$profile')");

На страницу выводить нормально, как положено. А вот в базу не могу корректно записать вот этот кусок :

'---\n-' '$sfera\n-' '$gorod\n-' '$adres\n-' '$phone\n- ''<p>*$opisanie </p>''\n'

Вот дамп записи из базы сделаной через админку:

INSERT INTO `cms_uc_items` (`id`, `category_id`, `title`, `pubdate`, `published`, `imageurl`, `fieldsdata`, `hits`, `is_comments`, `tags`, `rating`, `meta_desc`, `meta_keys`, `price`, `canmany`, `user_id`, `on_moderate`, `seolink`) VALUES

(75, 1066, 'орган', '2015-02-20 19:31:00', 1, '', '---\n- сфера\n- город\n- адрес\n- телефон\n- ''<p>*описание</p>''\n', 1, 1, '', 0, 'орган', '', 0, 1, 1, 0, 'organ');

А вот дамп записи которая получается в результате работы скрипта:

INSERT INTO `cms_uc_items` (`id`, `category_id`, `title`, `pubdate`, `published`, `imageurl`, `fieldsdata`, `hits`, `is_comments`, `tags`, `rating`, `meta_desc`, `meta_keys`, `price`, `canmany`, `user_id`, `on_moderate`, `seolink`) VALUES

(678, 1066, 'Мировые судьи Демского района', '2015-02-20 21:25:48', 1, '', '---\n-Прокуратуры и суды (арбитражные суды, районные суды, мировые судьи)\n-Республика Башкортостан, Уфа г.\n-Левитана, 14/4\n-\r\nТелефон \r\n (347) 281-93-13\r\n\r\n \n- ''<p>*\r\n Организация размещена в разделе «Суды / Прокуратуры и суды (арбитражные суды, районные суды, мировые судьи)» нашего справочника.\r\n Региональная принадлежность компании - Уфа и Уфимский район, Республика Башкортостан, Россия. Компания Мировые судьи Демского района находится по адресу Левитана, 14/4 в Уфе. Связаться с администрацией можно по телефону (347) 281-93-13. Часы работы организации - пн 09:00 - 18:00, обед 13:00 - 14:00, вт 09:00 - 18:00, обед 13:00 - 14:00, ср 09:00 - 18:00, обед 13:00 - 14:00, чт 09:00 - 18:00, обед 13:00 - 14:00, пт 09:00 - 18:00, обед 13:00 - 14:00, сб - выходной, вс - выходной. </p>''\n', 1, 1, '', 0, 'Мировые судьи Демского района', '', 0, 1, 1, 0, 'Мировые судьи Демского района');

В базе запись выглядит вот так :

domen4you
На сайте с 08.03.2013
Offline
53
#1

все парсишь?))

тут с кавычками мне не нравится

''<p>*$opisanie </p>''\n',

также может пригодится

http://php.net/manual/ru/function.trim.php

T
На сайте с 02.02.2015
Offline
35
#2
domen4you:
все парсишь?))
тут с кавычками мне не нравится


также может пригодится
http://php.net/manual/ru/function.trim.php

Ну да, портал делаю, надо собрать каталог организаций. Про кавычки - дело в том что только в таком варианте пишется в базу, пробовал подругому , ошибок не показывает но и в базу не пишет. Ту я думаю дело в тексте который парсится, фишка в том что он не форматированый, на страницу tcho делаю он сплошным текстов выводится. А в инспекторе выглядит так и в бызу так же пишется с переносами строк и неразрывными пробелами. А из бызы выборка идет списком UL-LI в той последовательности как записаны строки и соответственно если в строке в которой должен быть телефон, записан неразрывный пробел то он и выводится на страницу. Мне бы в идеале как то удалить все эти пробелы и переносы строк и заменить их br_ками

domen4you
На сайте с 08.03.2013
Offline
53
#3

ну надо обрабатывать перед записью в базу:

trim, str_replace, регулярки и т.д.

T
На сайте с 02.02.2015
Offline
35
#4

Да вот пробую. Просто ответил до того как по ссылке прошол

---------- Добавлено 21.02.2015 в 01:22 ----------

domen4you:
ну надо обрабатывать перед записью в базу:
trim, str_replace, регулярки и т.д.

Так вырезать то я их вырезал а теперь как вместо них бр-ки воткнуть?

---------- Добавлено 21.02.2015 в 01:28 ----------

domen4you:
ну надо обрабатывать перед записью в базу:
trim, str_replace, регулярки и т.д.
Tilo:
Да вот пробую. Просто ответил до того как по ссылке прошол

---------- Добавлено 21.02.2015 в 01:22 ----------


Так вырезать то я их вырезал а теперь как вместо них бр-ки воткнуть?

вырезал вот такой конструкцией

$phone = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $phone);

$phone = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $phone);


---------- Добавлено 21.02.2015 в 01:46 ----------

Нет не правильно вопрос поставил, Как заменит все что вырезаю одним br? А то у меня щас сколько вырезал пробелов и табов столько бр - ок и вставляется

---------- Добавлено 21.02.2015 в 01:59 ----------

Все разобрался. domen4you, спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий