Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Как сделать несколько Select в 1 запросе

Уважаемый пользователь
Сообщений: 21
Всем привет. Как сделать несколько select в 1 запросе. Нужно чтобы при 1 запросе например проверялся статус, а при втором запросе в другую таблицу тянулась информация. Нужно для завершения мультиязычности в системе (записи из базы).
Уважаемый пользователь
Сообщений: 21

<?
public function &SelectJoin($Name, $Name2, $On, $Where = '',
 $Limit = null, $Order = null, $OrderDesc = false)<br />
    {<br />
        $this->StartQ('Database->SelectJoin()');<br />
        //$sql = 'SELECT * FROM ' . $this->Prefix() . $Name . ($Where != '' ? ' WHERE ' . $Where : '')
;<br />
        $Table1 = $this->Prefix() . $Name;<br />
        $Table2 = $this->Prefix() . $Name2;<br />
        $On1 = $Table1 . '.' . $On;<br />
        $On2 = $Table2 . '.' . $On;<br />
        $sql = 'SELECT * FROM ' . $Table1 . ' LEFT JOIN ' . 
$Table2 . ' ON ' . $On1 . ' = ' . $On2 . ($Where != '' ? ' W
HERE ' . $Where : '');<br />
        if (isset($Order)) {<br />
            $sql .= ' ORDER BY ';<br />
            if (!is_array($Order)) $Order = [$Order];<br />
            if (!is_array($OrderDesc)) $OrderDesc = [$OrderDesc];<br />
            foreach ($Order as $i => $Coll) $sql .= "`$Coll`" . ($OrderDesc[$i] ? ' DESC' : '') . ', ';<br />
            $sql = substr($sql, 0, -2);<br />
        }<br />
        if (isset($Limit)) {<br />
            $sql .= ' LIMIT ';<br />
            $sql .= (is_array($Limit) ? $Limit[0] . ', ' . $Limit[1] : $Limit);<br />
        }<br />
        if ($this->MySQLQuery($sql)) {<br />
            $this->Good();<br />
            return $this->SetResult($this->QueryResult);<br />
        } else {<br />
            $this->Error('Ошибка. Запрос не выполнен.');<br />
            $this->MySQLError();<br />
            $result = [];<br />
            return $result;<br />
        }<br />
    }
?>



<?
$news = System::database()->SelectJoin('news', 'news_description', 'product_id', GetWhe
reByAccess('access', "`status`='1' and `date_added` <= '" . TimeRender(time()) . "'" . ($category !== false ? " and `category_id`='$category'" : "")), null, 'date_added', true);<br />

?>


Что здесь не так?
Уважаемый пользователь
Сообщений: 21
Все разобрался, по ошибке написал product_id, вместо news_id
Разработчик
Сообщений: 604
Int3:
Всем привет. Как сделать несколько select в 1 запросе. Нужно чтобы при 1 запросе например проверялся статус, а при втором запросе в другую таблицу тянулась информация. Нужно для завершения мультиязычности в системе (записи из базы).

raw sql / orm
Уважаемый пользователь
Сообщений: 21
Я решил путем JOIN) Интересует как подключить название всех модулей и блоков, точнее их папок в системе. Именно список весь. Мне для подключения множества файлов требуется это)
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 0)
Быстрый переход: