добавить пару имя-значение в опубликованные данные для использования в Joomla и вставить в БД - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь использовать каркас Joomla для создания в основной таблице содержимого. [http://docs.joomla.org/How_to_use_the_JTable_class] Это прекрасно работает, за исключением того, что некоторые данные поступают из опубликованных переменных, а некоторые - из логики, которая происходит, когда файл загружается за несколько минут до(сохранить случайное имя изображения в формате jpg)

$ data = & JRequest :: get ('post');

это возвращает ссылку на опубликованные значения, и я хочу добавить к этомуМассив или Объект моего поля.Код, который у меня есть, создает новую запись, но изображения столбцов не вставляют мою строку.

Я пытаюсь сделать что-то вроде $data=&JRequest::get('post'); $newdata=(array)$data; array_push($newdata,"images"=>"Dog");

Я создаю новые данные, так как данные ссылаются наопубликованные переменные, и я подозреваю, что не позволят мне добавить значения к $ data.Я флеш-парень, обычно не php, и мои знания подводят меня сюда.

Спасибо за любую помощь

1 Ответ

1 голос
/ 21 апреля 2011

Правильно, во-первых:

$data=&JRequest::get('post');

$ data - это массив, вам не нужно его приводить.Чтобы добавить еще один элемент в массив, как описано в комментариях, сделайте следующее:

$data['images'] = 'cats';

Если вы используете обычный SQL для вставки, вам нужно сделать что-то подобное, чтобы получить последний вставленный идентификатор, например, идентификаториз строки, которую вы только что вставили:

$db = $this->getDBO();
$query = 'Some sql';
$db->setQuery($query);
if (!$db->query()) {
  JError::raiseWarning(100, 'Insert failed - '.$db->getErrorMsg());
}
$id = $db->insertid();

Если вы разрабатываете в Joomla, я предлагаю вам использовать предоставленные вам функции db, а не mysql_insert_id ();

[EDIT]

Если вы хотите использовать магазин, вы можете получить последний вставленный идентификатор, например, так:

$row->bind($data);
$row->check();
$row->store();
$lastId = $row->id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...