/** * 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; } }
/** * 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; } }
/** * 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; } }