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. プログラムでデフォルト値のフォルダから文字列を取得するにはどのようにデフォルト値のフォルダ(ロケール)
- 2. avro IDLを使用してenumのデフォルト値を指定するにはどうすればよいですか?
- 3. 私はどのように私のPHPは、PHPのブロックでは、HTMLの値属性で動作するように取得できますか?
- 4. qDebug()はenum値をどのように出力しますか?
- 5. enum型の値を別のenum変数に渡すにはどうすればよいですか?
- 6. enumのデフォルトのプロパティタイプエディタは何ですか?
- 7. どのように私はコンボボックスから価値を得るのですか?#
- 8. JavaのEnum型インスタンス変数のデフォルト値は何ですか?
- 9. どのように私はPHPのカールで入力値を得ることができますか?
- 10. がどのように最初のキー値のデフォルトはここでPHP
- 11. typecript enumデフォルト値
- 12. 私はどのようにPHPで値を転送できますか?
- 13. enumはどのようにjava型で安全ですか
- 14. PLESK 8.4のPHP safe_modeのデフォルト値はONです。どうして?
- 15. どのようにアンドロイドでスピナーのデフォルト値を追加するのですか?
- 16. それはどのようにenum Cの作品ですか?
- 17. デフォルト値のPhinx migrate - enumカラム
- 18. はどのように私は、デフォルト
- 19. はどのように、私のアンドロイドアプリケーションでは、デフォルトのテーマTheme.Holo.Light
- 20. キーを知らずにenum値を取得するにはどうすればよいですか?
- 21. PHPでは、どのようにデフォルトのPDOフェッチクラスを設定しますか?
- 22. 私はどのようにデフォルト
- 23. ブーストプログラムオプションでデフォルトの引数値を取得するにはどうすればよいですか?
- 24. NHibernateのnullable enumをどのようにマップできますか?
- 25. どのように私はすべての動的テキストボックスからクラスを使用してPHPで値を取得
- 26. スワッガーパラメータのデフォルト値を与えるにはどうすればよいですか?
- 27. コントロールのフォントのデフォルト値を取得するにはどうすればよいですか?
- 28. どのようにデフォルトのasp.netメンバーシップ・プロバイダ名を取得するのですか?
- 29. btraceでは、Enumオブジェクトの値を比較してチェックするにはどうすればよいですか?
- 30. PHP、PDOデフォルトのフェッチモードを取得するにはどうすればよいですか?
いいえgr8まさに私が探していたもの – aWebDeveloper