Показать сообщение отдельно
Непрочитано 21.04.2015, 21:09   #2
Пользователь

По умолчанию Re: не могу понять где ковырять

Цитата:
Сообщение от 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 и уберите цикл-фильтр
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu

Последний раз редактировалось Aquanox; 21.04.2015 в 22:39.
Aquanox вне форума Ответить с цитированием