예제 #1
0
파일: crud.php 프로젝트: verrat73/crud
    {
        return 'SELECT ' . $this->getFieldsString() . ' FROM ' . $this->table . $this->getWhereBlock() . $this->getOrderByBlock() . $this->getLimitBlock();
    }
}
//Класс объектов сортировки ORDER BY
class OrderByItem
{
    private $filedName = '';
    private $direction = '';
    //Инициализация объектов класса
    public function __construct($fName, $sortDirection)
    {
        $this->direction = $sortDirection;
        $this->filedName = $fName;
    }
    //Функция преобразования объекта в строковое представление для работы функций join и т.д
    public function __toString()
    {
        if ($this->filedName == '' || $this->direction == '') {
            return '';
        }
        return $this->filedName . ' ' . $this->direction;
    }
}
$sl = new SelectQuery();
$idDescSorting = new OrderByItem('id', 'desc');
$nameAscSorting = new OrderByItem('name', 'asc');
$sl->SetQueryFields(array('id', 'name'))->SetTable('Users')->SetLimit(0, 10)->SetOrderBy(array($idDescSorting, $nameAscSorting));
//$sl->SetWhere("WHERE id >= 10 and name = 'Руслан'");
var_dump($sl->GetQueryString());