/**
     * Метод получает все содержимое таблицы $this->tableName по запросу SELECT и записывает в свойство $this->tableFormDB
     * вызывает метод draw() и возвращет готовую таблицу
     * @return string
     */
    public function getTable(){
        $query = new QueryOld();
        $sql = "SELECT * FROM {$this->tableName}";
        $this->tableFromDB = $query->runSql($sql);
        return $this->draw();

    }
示例#2
0
    public function __construct($login, $id_client)
    {
        $this->login = $login;
        $this->id_client = $id_client;
        $this->permission_table = [];
        $this->permission_action = [];

        $query = new QueryOld();

        $sql = sprintf(
            "SELECT pt.table_name, pt.permission FROM ref_users u 
JOIN ref_permissions_for_tables pt ON u.id = pt.id_ref_users  
WHERE u.id_ref_clients = %d AND u.login = '******'",
            $this->id_client, $this->login
        );

        $result = $query->runSql($sql);
        foreach ($result as $row) {
            $this->permission_table[$row['table_name']] = $row['permission'];
        }

        $sql = sprintf("get_permissions('%s', %d)", $this->login, $this->id_client);

        $result = $query->callProcedure($sql);
        foreach ($result as $row) {
            $this->permission_action[] = $row['name'];
        }

    }
    private function load_constraints()
    {
        $constraints = [];
        $sql = sprintf("SELECT c.name, rc.value, rc.relative_html_input_name 
FROM ui_input_fields_rules_constraints rc 
JOIN ui_input_fields_rules r ON r.id = rc.id_ui_input_fields_rules AND r.name = '%s' 
JOIN  ui_input_fields_constraints c ON c.id = rc.id_ui_input_fields_constraints",
            $this->rule_name);

        $query = new QueryOld();
        $result = $query->runSql($sql);
        foreach ($result as $row) {
            $constraints[$row['name']] = $row;
        }
        return $constraints;
    }
 /**
  * ui_inputField constructor.
  * @param null $id_field
  */
 public function __construct($id_field = NULL)
 {
     if (isset($id_field)) {
         $this->id_field = $id_field;
         # если передан $id_field, то ищем в базе и заполняем свойства
         $sql = sprintf("SELECT 
                         f.html_name, 
                         f.html_type, 
                         f.html_class, 
                         f.html_id, 
                         f.html_value, 
                         f.html_placeholder, 
                         f.label, 
                         f.db_table_name, 
                         f.db_field_name, 
                         f.npp, 
                         r.name as rule_name, 
                         r.id as rule_id  
                         FROM ui_input_fields f
                         LEFT JOIN ui_input_fields_rules r ON r.id = f.id_ui_input_fields_rules 
                         WHERE f.id=%d ORDER BY f.npp",
             $this->id_field);
         $query = new QueryOld();
         $result = $query->runSql($sql);
         if(empty($result)){
             # исключение id не найден
         }else{
             $this->html_name = $result[0]['html_name'];
             $this->html_type = $result[0]['html_type'];
             $this->html_class = $result[0]['html_class'];
             $this->html_id = $result[0]['html_id'];
             $this->html_value = $result[0]['html_value'];
             $this->label = $result[0]['label'];
             $this->db_table_name = $result[0]['db_table_name'];
             $this->db_field_name = $result[0]['db_field_name'];
             $this->npp = $result[0]['npp'];
             $this->html_placeholder = $result[0]['html_placeholder'] ?: 'Введите значение ' . $this->html_name;
             $this->rule = new ui_fieldRule($result[0]['rule_name']);
             $this->changed=false;
         }
     }
 }
// mas[0], mas[1] ... mas[n]
$xold = '';
$i = -1;
$j = 0;
// По-прежнему ужасные имена переменных!!!
foreach ($_POST as $key => $value){
    $x = explode(':', $key);
    if($x[0] !== $xold){
        $i++;
        $xold = $tableName[] = $x[0];
    }
    $mas[$x[0]][$x[1]] = $value; // имена подмассивов (ключи) = имени таблицы
}
// заношу в базу

$query = new QueryOld();

foreach($mas as $table => $fields) {  
    
    $sql = "insert into $table (";
    $comma = $values = '';

    foreach($fields as $fieldName => $value) {
        $sql .= "$comma $fieldName";
        $values .= "$comma '$value'";
        $comma = ',';
    }
    
    echo '<br>' . ($sql .= " ) values ( $values )"). '<br>';
    
    $result = $query->runSql($sql);