Пример #1
0
 function set_total_controls($sql)
 {
     /*ตรวจสอบสร้างคำสั่ง SQL เพื่อสร้างยอดรวม*/
     debug_mode(__FILE__, __LINE__, $sql, 'set_total_controls : $sql');
     $sql_cmd = new OrSql();
     // สร้างใหม่เพื่อไม่ให้กระทบค่าเดิม
     $sql_cmd->set_cmd_sql($sql);
     if (is_array($this->total_function)) {
         $db = $this->db;
         $i = 0;
         foreach ($this->total_function as $id => $obj) {
             $field_name = $this->get_filter_name($obj->field_name);
             if (strpos($field_name, "`") === false and strpos($field_name, "(") === false) {
                 $field_name = '`' . $field_name . '`';
             }
             if ($i == 0) {
                 $str_select = $obj->field_function . '(' . $field_name . ') AS `' . $id . '` ';
             } else {
                 $str_select .= ' , ' . $obj->field_function . '(' . $field_name . ')  AS `' . $id . '` ';
             }
             $i++;
         }
     }
     if ($str_select != '' and $this->OP_['tab_select_total']->get() != '') {
         $str_comma = ' , ';
     }
     if ($str_select != '' or $this->OP_['tab_select_total']->get() != '') {
         $sql_cmd->OP_[cmd_select]->set($str_select . $str_comma . $this->OP_['tab_select_total']->get());
         $sql_cmd->OP_[cmd_group]->set('');
         debug_mode(__FILE__, __LINE__, $sql_cmd->get_cmd_sql(), 'set_total_controls : $sql_cmd');
         $db->get_query($sql_cmd->get_cmd_sql());
         if ($this->db->is_error()) {
             die("gen_total_list_tag had error = " . $db->show_error());
         }
         $db->get_record();
     }
     /**
      * สร้าง Controls ค่าผลรวม
      **/
     foreach ($this->total_controls as $control_id => $control) {
         $control->OP_[value]->set($db->record[$control_id]);
         debug_mode(__FILE__, __LINE__, $control->OP_[value]->get(), 'ผลของ' . $control_id);
     }
     return null;
 }
Пример #2
0
 function get_total_row($sql_count_row)
 {
     $db_page = $this->db;
     $sql_cmd = new OrSql();
     $sql_cmd->set_cmd_sql($sql_count_row);
     $sql_cmd->OP_[cmd_select]->set(' count(*) AS `total_row` ');
     $count_sql = $sql_cmd->get_cmd_sql();
     $db_page->get_query($count_sql);
     if (!$db_page->is_error()) {
         $db_page->get_record();
         $this->OP_[total_rec]->set($db_page->record[total_row]);
     } else {
         $db_page->show_error();
     }
     return $this->OP_[total_rec]->get();
 }