Всем привет, подскажите, пожалуйста как сделать следующее... есть таблица к примеру jos_test 3 поля id(int) name(mediumtext) desc(mediumtext) В таблице есть значения, вывести их я могу, делаю вот примерно так: Код (PHP): $db = $database; $query = "SELECT * FROM #__test where id = $id"; $db->setQuery( $query ); $result = $db->loadObjectList(); Вопрос, как я могу их изменить? Как должен выглядеть запрос и его исполнение?
Спасибо Это я знаю Я даже знаю как запрос будет выглядеть) но как он исполняется joomla? я вот составил его примерно вот так: Код (PHP): $db = $database; $query = "UPDATE #__test where id = $id SET name=что_угодно "; $db->setQuery( $query ); но при этом изменений не происходит, что делаю нетак?
Делал на Joomla 1.5 Код (PHP): <?php // no direct access defined('_JEXEC') or die('Restricted access'); //Подключаемся к БД $db =& JFactory::getDBO(); //Делаем запрос в БД, чтобы вывести все данные $query = 'SELECT * FROM #__test'; $db->setQuery( $query ); $result = $db->loadObjectList(); //выводим все данные $k = 0; for ($i=0, $n=count( $result ); $i < $n; $i++) { $row = $result[$i]; echo $row->id ." - ". $row->name ." - ". $row->desc ."<br>"; $k = 1 - $k; } //У кого будем делать изменения $id = '1'; //Обновляем поле $query = "UPDATE #__test SET `name` = '4' WHERE `id` = ".$id; $db->setQuery( $query ); if ($db->query()) { } echo '<br><br><br><br>'; //выводим все данные $query = 'SELECT * FROM #__test'; $db->setQuery( $query ); $result = $db->loadObjectList(); $k = 0; for ($i=0, $n=count( $result ); $i < $n; $i++) { $row = $result[$i]; echo $row->id ." - ". $row->name ." - ". $row->desc ."<br>"; $k = 1 - $k; } ?>
При обновлении/вставки зписей, после setQuery используйте query() Код (CODE): $db = & JFactory::getDBO(); ; $query = "UPDATE `#__test` SET `name`='John' where `id` = $id"; $db->setQuery( $query ); if ($db->query()) echo "Запись обновлена"; else echo "Ошибка в запросе к БД";