array($params['start'], 'Integer'), 2 => array($params['end'], 'Integer'), 3 => array($params['gid'], 'Integer'), ); $dao = "SELECT id FROM civicrm_option_value WHERE weight = %1 AND option_group_id = %3"; $startid = CRM_Core_DAO::singleValueQuery($dao, $queryParams); $dao2 = "SELECT id FROM civicrm_option_value WHERE weight = %2 AND option_group_id = %3"; $endid = CRM_Core_DAO::singleValueQuery($dao2, $queryParams); $query = "UPDATE civicrm_option_value SET weight = %2 WHERE id = $startid"; CRM_Core_DAO::executeQuery($query, $queryParams); // increment or decrement the rest by one if ($params['start'] < $params['end']) { $updateRows = "UPDATE civicrm_option_value SET weight = weight - 1 WHERE weight > %1 AND weight < %2 AND option_group_id = %3 OR id = $endid"; } else { $updateRows = "UPDATE civicrm_option_value SET weight = weight + 1 WHERE weight < %1 AND weight > %2 AND option_group_id = %3 OR id = $endid"; } CRM_Core_DAO::executeQuery($updateRows, $queryParams); CRM_Utils_JSON::output(TRUE); } }