Более 1000 проектов разного уровня сложности. Опыт более 10 лет работы в сфере web-программирования

Mysql joomla


получить объект базы
$db = & JFactory::getDBO();
//обращение в модели
$this->_db->

// отправить запрос в переменной $q
$this->_db->setQuery($q);
$obj =  $this->_db->Query();

// получить результат одной переменной
$db->loadResult(); 

//получить результат в массив
$db->loadResultArray();

//получить результат в обект
$db->loadObject();

//получить результат в массив объектов
$db->loadObjectList();

//добавить значение в базе
$query = "INSERT INTO #__ksen_produkt_kat_xref (cat,doc)
VALUES(".$data['cat'][$i].",".$row->id.")";

//удалить запись из базы
$q = "DELETE FROM #__ksen_produkt_kat_xref WHERE id=".$cat;
$this->_db->setQuery( $q );
$this->_db->query();

//обновить запись а данном случае цену
$q = "UPDATE #__ksen_produkt SET price=(price*$home->kurs) ";
$db->setQuery($q);
$db->Query();

//Запрос с несколькими подзапросами

$q = 'SELECT a.id, a.type, a.vid, a.ids, a.xar, a.price, a.index, a.kol,
(SELECT CONCAT_WS(\':\', b.id, b.alias,b.title,b.introcontent,b.price)
FROM #__ksen_produkt AS b WHERE a.type="produkt" AND a.vid=b.id) as produkt,
(SELECT CONCAT_WS(\':\', l.id, l.alias,l.title,l.content,l.price)
FROM #__ksen_look AS l WHERE a.type!="produkt" AND a.vid=l.id) as look,
(SELECT GROUP_CONCAT(CONCAT_WS(\':\', x.title)) FROM #__ksen_params_produkt AS x WHERE x.id IN (a.xar)) as params,
(SELECT GROUP_CONCAT(CONCAT_WS(\':\', h.title, h.value)) FROM #__ksen_params_produkt_value AS h WHERE h.id IN (a.ids)) as val
FROM #__ksen_cart AS a
WHERE a.index="'.$index.'"';

$db->setQuery($q);
$obj = $db->LoadObjectList(); 

Ответ  пример:
$obj[0]->a.id = 1
$obj[0]->a.type = "text"
$obj[0]->a.vid = 1
$obj[0]->a.ids = 1
$obj[0]->a.xar = 1
$obj[0]->a.price = 1
$obj[0]->a.index = "text"
$obj[0]->a.kol = 1
$obj[0]->produkt = 1:alias:title:introcontent:price (данную строку можно разбить substr(':',$obj[0]->produkt))
$obj[0]->look = 1:alias:titile:content,price
$obj[0]->params = 1,2,3,4 (можно разбить substr(',',$obj[0]->params))
$obj[0]->params = titile:value,titile:value,titile:value,titile:value
(тут сначала разбить по запятым потом по двоеточии)


GROUP_CONCAT( ) в Mysql.

Синтаксис
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])

Покупка готового скрипта

joomla 3