function export($sql, $course_id) { global $db; $sql = str_replace('?', $course_id, $sql); $content = ''; $result = queryDBresult($sql, array()); $rows_csv = queryDB($sql, array(), '', '', '', MYSQL_NUM); $field_types = $this->detectFieldTypes($result); if (!$field_types) { return FALSE; } $num_fields = count($field_types); foreach ($rows_csv as $row) { for ($i = 0; $i < $num_fields; $i++) { if ($types[$i] == 'int' || $types[$i] == 'real') { $content .= $row[$i] . ','; } else { $content .= $this->quote($row[$i]) . ','; } } $content = substr($content, 0, -1); $content .= "\n"; } at_free_result($result); return $content; }
function detectFieldTypes($table_name) { $field_types = array(); $sql = "SELECT * FROM %s%s WHERE 0"; $result = queryDBresult($sql, array(TABLE_PREFIX, $table_name)); if (!$result) { return array(); } $num_fields = at_num_fields($result); for ($i = 0; $i < $num_fields; $i++) { $field_types[] = at_field_type($result, $i); } return $field_types; }