Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Подскажите, пожалуйста, как мне можно получить (и можно ли) массив возможных значений столбца типа ENUM
Т.Е. у меня есть таблица, в которой один столбец имеет тип enum('a', 'b', 'c')
можно ли мне получить какой-нибудь функцией массив
[0] => ""
[1] => "a"
[2] => "b"
[3] => "c"
можно конечно взять строку enum('a', 'b', 'c') из describe table и из нее получить при помощи удаления лишних символов и explode, но может быть есть более изящный способ?
Заранее благодарю.
Неактивен
Можно еще через INFORMATION_SCHEMA, но explode прийдется делать все равно.
Неактивен
Жаль,
Я делаю генератор формы себе в админку и очень было бы удобно если тип стодбца enum взять массив возможных значений и запихать его в <select>
Все равно у меня все заточено под работу только с MySQL. только и нужно, что превратить
enum('a','b','c') в array('a','b','c')
Неактивен
Почему жаль? Вам просто придется один раз написать функцию, которая из enum('a','b','c') делает array('a','b','c').
Если у Вас MySQL5.0 и выше, то вмсето DESCRIBE TABLE можно воспользоваться INFORMATION_SCHEMA. Запрос
SELECT column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema="db_name" AND table_name="tb_name" AND column_name="column_name";
сразу выдаст Вам enum('a', 'b', 'c')
Неактивен
Между прочим, на PHP это можно сделать через строковую замену и eval
Неактивен