Дописать в начало таблицы

  • 10 Ответов
  • 289 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн ekvador

Как дописать в начало таблицы 'introtext' данные из $q, сохранив старый 'introtext'. То есть, обновив таблицу, без перезаписи. Данный запрос переписывает старый introtext на новый из $q.
$fields = array(
$db->quoteName('introtext'). ' = ' . $db->quote($q)
);
$conditions = array(
$db->quoteName('id'). ' = 1'
);
$query->update($db->quoteName('#__content'))->set($fields)->where($conditions);
$result = $db->setQuery($query)->execute();

*

Оффлайн AlekVolsk

Re: Дописать в начало таблицы
« Ответ #1 : 27.01.2017, 04:03:23 »
двумя запросами - тремя действиями: взяли интро -> склеили с $q -> записали результат склейки

а зачем вам такая сложность? что на входе в $q?

*

Оффлайн ekvador

Re: Дописать в начало таблицы
« Ответ #2 : 27.01.2017, 04:18:09 »
Это материал. Данные в нем обновляются ежедневно, с автоматической вставкой разрыва страницы (1 стр - 1 день). Пока получается выводить только последние данные. Нужно, чтобы старые сохранялись. Думал, что можно update через concat, но не нашел такого решения. Просьба - покажите на примере кода, с intro. В jdatabase не могу пока разобраться.

*

Оффлайн AlekVolsk

Re: Дописать в начало таблицы
« Ответ #3 : 27.01.2017, 04:28:38 »
как работать с базой данных в J

если 1 страница = 1 день, то почему бы не создавать на каждый день свой материал?

*

Оффлайн ekvador

Re: Дописать в начало таблицы
« Ответ #4 : 27.01.2017, 04:57:34 »
Спасибо за подсказку. Подумаю над отдельными материалами.

*

Оффлайн dmitry_stas

Re: Дописать в начало таблицы
« Ответ #5 : 27.01.2017, 05:03:10 »
Код: (sql) [Выделить]
UPDATE tbl SET col = CONCAT('12345', col)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн ekvador

Re: Дописать в начало таблицы
« Ответ #6 : 27.01.2017, 11:09:49 »
по sql вопросов нет, понятно как составить запрос и concat работает. суть вопроса - как применить concat в коде из первого поста.

*

Оффлайн dmitry_stas

Re: Дописать в начало таблицы
« Ответ #7 : 27.01.2017, 16:03:42 »
не понимаю честно говоря тогда вопроса, если все понятно. так и применить, как написано. в $fields вместо просто присвоения написать с конкатенацией. в чем именно проблема?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн ekvador

Re: Дописать в начало таблицы
« Ответ #8 : 27.01.2017, 16:41:27 »
я не могу в php прописать это условие конкатенации. так не работает
$db->quoteName('introtext'). ' = ' . CONCAT($db->quote($q),$db->quoteName('introtext'))не разобрался еще с классами ооп. можете написать строку с конкатенацией применительно к моему запросу?

*

Оффлайн dmitry_stas

Re: Дописать в начало таблицы
« Ответ #9 : 27.01.2017, 17:13:05 »
'introtext = CONCAT(' . $db->q($q). ',introtext)'
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Оффлайн ekvador

Re: Дописать в начало таблицы
« Ответ #10 : 27.01.2017, 19:38:52 »
Спасибо, помогло!