php-mysql에서 enum의 기본값을 얻는 방법. 라디오 버튼/드롭 다운으로 사용하고 싶습니다.PHP에서 enum의 기본값을 얻는 방법
2
A
답변
1
이것은 용도로 사용할 수있는 CakePHP bakery의 스 니펫입니다. 일반적인 아이디어를 줄 것입니다 :
//Get the values for the specified column (database and version specific, needs testing)
$result = $this->query("SHOW COLUMNS FROM {$tableName} LIKE '{$columnName}'");
//figure out where in the result our Types are (this varies between mysql versions)
$types = null;
if (isset($result[0]['COLUMNS']['Type'])) { $types = $result[0]['COLUMNS']['Type']; $default = $result[0]['COLUMNS']['Default']; } //MySQL 5
elseif (isset($result[0][0]['Type'])) { $types = $result[0][0]['Type']; $default = $result[0][0]['Default']; } //MySQL 4
else { return array(); } //types return not accounted for
//Get the values
$values = explode("','", preg_replace("/(enum)\('(.+?)'\)/","\\2", $types));
희망이 있습니다!
3
mysql> create table choices (choice enum('a','b') not null default 'b'); Query OK, 0 rows affected (0.00 sec) mysql> desc choices; +--------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------+------+-----+---------+-------+ | choice | enum('a','b') | NO | | b | | +--------+---------------+------+-----+---------+-------+ mysql> show columns from choices like 'choice'; +--------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------+------+-----+---------+-------+ | choice | enum('a','b') | NO | | b | | +--------+---------------+------+-----+---------+-------+
Default
필드
2
이 쿼리에 발생할 수 중 쿼리
SELECT
COLUMN_TYPE
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'yourDatabase'
AND TABLE_NAME = 'yourTable'
AND COLUMN_NAME = 'yourEnumColumn'
이 enum('v1','v2','v3')
같은 열 형식 문자열을 반환합니다. 그런 다음 간단한 문자열 연산을 사용하여 (그리고 아마도 폭발) 원하는 형식으로 변환 할 수 있습니다.
1
이 당신을 도울 수 있습니다됩니다
클래스 enum_values {
public $values;
public function __construct($table, $column){
$sql = "SHOW COLUMNS FROM $table LIKE '$column'";
if ($result = mysql_query($sql)) { // If the query's successful
$enum = mysql_fetch_object($result);
preg_match_all("/'([\w ]*)'/", $enum->Type, $values);
$this->values = $values[1];
} else {
die("Unable to fetch enum values: ".mysql_error());
}
}
}
내가 여기를 발견 http://barrenfrozenwasteland.com/index.php?q=node/7
그러나 한 가지, 그 성공을 언급하고 싶습니다 열을 가져 오는 것은 또한 db 사용자가 가지고있는 권한에 달려있다.
관련 문제
- 1. PHP에서 URL을 얻는 방법
- 2. Wix - 레지스트리 키의 기본값을 얻는 방법
- 3. python dicts를 다시 작성하여 기본값을 얻는 방법
- 4. PHP에서 시스템 통계를 얻는 방법
- 5. PHP에서 클래스의 포인터를 얻는 방법
- 6. PHP에서 사용자 OS 이름을 얻는 방법?
- 7. PHP에서 select count (*) 쿼리의 결과를 얻는 방법?
- 8. php에서 사용자의 facebook 사용자 ID를 얻는 방법
- 9. IIS/PHP에서 gettext 작업을 얻는 방법
- 10. PHP에서 제공되는 HTTP 응답의 크기를 얻는 방법
- 11. 문자열을 PHP에서 반복 횟수를 얻는 방법
- 12. PHP에서 이미지의 x y 좌표를 얻는 방법
- 13. PHP에서 클래스의 모든 하위 클래스를 얻는 방법
- 14. 목록보기에 기본값을 설정하는 방법
- 15. LinqDataSource : 기본값을 정의하는 방법
- 16. XSD에서 wsimport로 가져온 Enum의 설명
- 17. Enum의 IEnumerable 확장 메서드
- 18. "char"enum의 다른 약어
- 19. enum의 변수는 항상 초기화됩니까?
- 20. jQuery Fullcalendar에서 기본값을 무시하는 방법
- 21. SSIS를 사용하여 기본값을 복사하는 방법?
- 22. 일시적으로 열의 기본값을 변경하는 방법?
- 23. initlize하는 방법 기본값을 가진 데이터베이스
- 24. 사전에서 파이썬으로 기본값을 수정하는 방법?
- 25. Spring에서 enum의 속성을 변경하려면 어떻게해야합니까?
- 26. 파이썬에서 enum의 일반적인 관행은 무엇입니까?
- 27. enum의 가장 가까운 코코아 등가
- 28. Annotation에 Enum의 String 속성이 사용되었습니다.
- 29. PHP에서 날짜를 확인하는 방법?
- 30. 요청한 URI를 얻는 방법
좋은 gr8 정확히 내가 무엇을 찾고 있었는지 – aWebDeveloper