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

ekvador

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Как дописать в начало таблицы '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

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

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

ekvador

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

AlekVolsk

  • Гуру
  • 6310
  • 349 / 4
Re: Дописать в начало таблицы
« Ответ #3 : 27.01.2017, 02:28:38 »
как работать с базой данных в J

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

ekvador

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

dmitry_stas

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

ekvador

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

dmitry_stas

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

ekvador

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

dmitry_stas

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

ekvador

  • Осваиваюсь на форуме
  • 44
  • 2 / 0
Re: Дописать в начало таблицы
« Ответ #10 : 27.01.2017, 17:38:52 »
Спасибо, помогло!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться