예제 #1
0
 /**
  * Get answers from DB by given parameters
  * @param array $params for query of type $key => $value
  * @param bool $return_as_array
  * @return \models\Answer | array
  */
 public static function getAnswers($params = array(), $return_as_array = false)
 {
     $db = new \models\Database();
     $sql = $order = $limit = $select_init = ' ';
     $where = ' WHERE 1  ';
     $values = array();
     if (!empty($params) && is_array($params)) {
         if (isset($params['sql'])) {
             $sql .= ' ' . $params['sql'] . ' ';
         }
         if (isset($params['where'])) {
             $where .= ' ' . $params['where'] . ' ';
         }
         if (isset($params['values']) && is_array($params['values'])) {
             foreach ($params['values'] as $k => $v) {
                 $values[$k] = $v;
             }
         }
         if (isset($params['id'])) {
             $where .= ' AND a.id = :id ';
             $values['id'] = $params['id'];
         }
         if (isset($params['question_id'])) {
             $where .= ' AND a.question_id = :question_id ';
             $values['question_id'] = $params['question_id'];
         }
         if (isset($params['is_correct'])) {
             $where .= ' AND a.is_correct = :is_correct ';
             $values['is_correct'] = $params['is_correct'];
         }
         if (isset($params['order'])) {
             $where .= ' AND qu.order = :order ';
             $values['order'] = $params['order'];
         }
         if (isset($params['order'])) {
             $order = ' ORDER BY ' . $params['order'] . ' ';
         }
         if (isset($params['limit'])) {
             $limit = ' LIMIT ' . $params['limit'] . ' ';
         }
     }
     $query = 'SELECT a.*
             FROM answers AS a
             ' . $sql . $where . $order . $limit . '
         ';
     //echo $db->prepare($query, $values)->getSqlInterpolated();
     $db->prepare($query, $values)->execute();
     $rows = $db->fetchAllAssoc();
     if (!$return_as_array) {
         $answers = self::createAnswersObjects($rows);
         return $answers;
     } else {
         return $rows;
     }
 }
예제 #2
0
 /**
  * Get quiz from DB by given parameters
  * @param array $params for query of type $key => $value
  * @param string $quiz_id=> quiz id
  * @param bool $return_as_array
  * @return \models\Quiz | array
  */
 public static function getQuiz($params = array(), $return_as_array = false)
 {
     $db = new \models\Database();
     $sql = $order = $limit = $select_init = ' ';
     $where = ' WHERE 1  ';
     $values = array();
     if (!empty($params) && is_array($params)) {
         if (isset($params['sql'])) {
             $sql .= ' ' . $params['sql'] . ' ';
         }
         if (isset($params['where'])) {
             $where .= ' ' . $params['where'] . ' ';
         }
         if (isset($params['values']) && is_array($params['values'])) {
             foreach ($params['values'] as $k => $v) {
                 $values[$k] = $v;
             }
         }
         if (isset($params['id'])) {
             $where .= ' AND qz.id = :id ';
             $values['id'] = $params['id'];
         }
         if (isset($params['type'])) {
             $where .= ' AND qu.type = :type ';
             $values['type'] = $params['type'];
         }
         if (isset($params['is_correct'])) {
             $where .= ' AND a.is_correct = :is_correct ';
             $values['is_correct'] = $params['is_correct'];
         }
         if (isset($params['order'])) {
             $order = ' ORDER BY ' . $params['order'] . ' ';
         }
         if (isset($params['limit'])) {
             $limit = ' LIMIT ' . $params['limit'] . ' ';
         }
     }
     $query = '
             SELECT qz.*
             FROM quiz AS qz
             ' . $sql . $where . $order . $limit . '
         ';
     //echo $db->prepare($query, $values)->getSqlInterpolated();
     $db->prepare($query, $values)->execute();
     $rows = $db->fetchAllAssoc();
     //echo '<pre>'; print_r($rows); echo '</pre>';
     if (!$return_as_array) {
         $quizes = self::createQuizObjects($rows);
         return $quizes;
     } else {
         return $rows;
     }
 }
예제 #3
0
 /**
  * Get animals from DB by given parameters
  * @param array $params for query of type $key => $value
  * @param string $name => animal name
  * @param string $category => animal category
  * @param string $date_created => date created of row
  * @param bool $return_as_array
  * @return \models\Animals | array
  */
 public static function getAnimals($params = array(), $return_as_array = false)
 {
     $db = new \models\Database();
     $sql = $order = $limit = $select_init = ' ';
     $where = ' WHERE 1  ';
     $values = array();
     if (!empty($params) && is_array($params)) {
         if (isset($params['sql'])) {
             $sql .= ' ' . $params['sql'] . ' ';
         }
         if (isset($params['where'])) {
             $where .= ' ' . $params['where'] . ' ';
         }
         if (isset($params['values']) && is_array($params['values'])) {
             foreach ($params['values'] as $k => $v) {
                 $values[$k] = $v;
             }
         }
         if (isset($params['id'])) {
             $where .= ' AND a.id = :id ';
             $values['id'] = $params['id'];
         }
         if (isset($params['name'])) {
             $where .= ' AND a.name = :name ';
             $values['name'] = $params['name'];
         }
         if (isset($params['search_name'])) {
             $where .= ' AND LOWER(a.name) LIKE LOWER(:name) ';
             $values['name'] = '%' . $params['search_name'] . '%';
         }
         if (isset($params['category'])) {
             $where .= ' AND a.category = :category ';
             $values['category'] = $params['category'];
         }
         if (isset($params['subcategory'])) {
             $where .= ' AND a.subcategory = :subcategory ';
             $values['subcategory'] = $params['subcategory'];
         }
         if (isset($params['eat'])) {
             $where .= ' AND a.eat = :eat ';
             $values['eat'] = $params['eat'];
         }
         if (isset($params['date_created'])) {
             $where .= ' AND a.date_created = :date_created ';
             $values['date_created'] = $params['date_created'];
         }
         if (isset($params['order'])) {
             $order = ' ORDER BY ' . $params['order'] . ' ';
         }
         if (isset($params['limit'])) {
             $limit = ' LIMIT ' . $params['limit'] . ' ';
         }
     }
     $query = 'SELECT a.*
             FROM animals AS a ' . $sql . $where . $order . $limit . '
         ';
     $db->prepare($query, $values)->execute();
     $rows = $db->fetchAllAssoc();
     if (!$return_as_array) {
         $animals = self::createAnimalsObjects($rows);
         return $animals;
     } else {
         return $rows;
     }
 }