You are here

function security_questions_question_load_multiple in Security Questions 6.2

Same name and namespace in other branches
  1. 7.2 security_questions.module \security_questions_question_load_multiple()

Fetch multiple questions from the database.

Parameters

$conditions: (optional) An array of query conditions as field => value pairs. If omitted, all questions in the database will be returned.

$any: (optional) By default, the result set includes only questions that match all of the $conditions. If this parameter is set to TRUE, the result set will instead include questions that match any of the $conditions.

Return value

An empty array if no questions match the conditions; otherwise, an array of question objects indexed by sqid.

3 calls to security_questions_question_load_multiple()
security_questions_get_question_list in ./security_questions.module
Fetch a user's available questions from the database.
security_questions_list_form in ./security_questions.admin.inc
Questions list page with add form.
security_questions_question_load in ./security_questions.module
Fetch a specific question from the database.

File

./security_questions.module, line 791
Main module file for security_questions.

Code

function security_questions_question_load_multiple($conditions = array(), $any = FALSE) {
  $schema = drupal_get_schema('security_questions');
  $query = "SELECT * FROM {security_questions}";
  $clause = $values = $return = array();
  if (!empty($conditions)) {
    $separator = $any ? ' OR ' : ' AND ';
    foreach ($conditions as $field => $value) {
      $clause[] = "{$field} = " . db_type_placeholder($schema['fields'][$field]['type']);
      $values[] = $value;
    }
    $query .= " WHERE " . implode($separator, $clause);
  }
  $result = db_query($query, $values);
  while ($row = db_fetch_object($result)) {
    $return[$row->sqid] = $row;
  }
  return $return;
}