function field($table, $field, $condition = null) { $execute_sql = sprintf('select %s from %s limit 0,1', $field, $table); if ($condition) { $condition = query::condition($condition); $execute_sql = sprintf('select %s from %s where %s limit 0,1', $field, $table, $condition); } $result = $this->query($execute_sql); $record = mysql_fetch_array($result); if ($record && preg_match('/^[-\\+]?\\d+(\\.\\d+)?$/', $record[$field])) { return $record[$field] + 0; } return isset($record[$field]) ? $record[$field] : null; }
static function condition($condition) { if (is_array($condition)) { return query::condition($condition); } if (preg_match('/^[0-9]*[1-9][0-9]*$/', $condition)) { return 'id=' . $condition; } return $condition; }