Цитата:
Сообщение от BFG13
PHP код:
$sql = "SELECT s.*, w.name, w.price AS work_price, [ тут все остальные поля из w ] FROM works_sales AS s LEFT JOIN works AS w ON (s.work = w.id) WHERE s.user = " . $id . " ORDER BY s.date DESC";
|
множеству полей w.* не присвоишь одно имя work_price, но если конкретное поле w.price то будет работать.
P.S. конкатенировать значения в запрос - зло великое (не повторяйте такое дома). пользуемся prepared statement и забываем про sql injection
Выполнение каких-либо операций по фильтрованию результата, которые можно вынести в запрос - тоже зло. Представьте себе если в таблице 1000000 записей и они будут обрабатываться этим:
Код:
$works = $query->result();
$result = array();
foreach($works as $work)
if(!empty($work->name))
$result[] = $work;
return $result;
Добавьте эту проверку на w.name != "" в WHERE и уберите цикл-фильтр