Автор Тема: Обработка поля с типом enum?  (Прочитано 3893 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Обработка поля с типом enum?
« : 02 Января 2002, 14:32:46 »
В таблице имеется:

CREATE TABLE table1(
...

test ENUM(\'first\',\'second\',\'third\'),
...
)


Вопрос?

Как мне программным путем, на PHP забрать в массив ети значения(first,second,third)?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Обработка поля с типом enum?
« Ответ #1 : 02 Января 2002, 17:29:32 »
Если честно, вопроса немного не понял. :( Тип ENUM задает варианты возможных значений данного поля. Т.Е. в твоем примере поле test может принимать значения first, second или third, а также их числовые эквиваленты.
Другими словами ENUM задает множество возможных значений поля.
 О каком массиве идет речь?
AS IS...

Оффлайн Dj Fly

  • Simply Dj :-)
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.digitals-pace.com
Обработка поля с типом enum?
« Ответ #2 : 02 Января 2002, 17:29:57 »
А немного поточнее - Эти First, second, third - однотипны(ну типа там vasea1, vasea2, vasea3)? Или требуется что-то типа Vasea, jora, petea?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Обработка поля с типом enum?
« Ответ #3 : 02 Января 2002, 17:31:58 »
2Dj Fly : Похоже зодача в том, чтобы хранить массив значений в одном поле. Или нет?
AS IS...

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
Обработка поля с типом enum?
« Ответ #4 : 02 Января 2002, 18:36:59 »
Hi.



...
test ENUM(\'vasea1\', \'vasea2\', \'vasea3\'),
...



...
test ENUM(\'vasea\', \'jora\', \'petea\'),
...


Оба варианта правильны, это означает, что когда Вы будете делать insert для первого варианта Вы не присвоите полю test значение \'vasea\', но присвоите \'vasea2\' или \'2\', что эквивалентно.

Но как я понял в начале вопрос заключался в том, как выяснить SQL-запросом какие значения допустимы и как затем это увидеть в ПХП-программе.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Обработка поля с типом enum?
« Ответ #5 : 03 Января 2002, 00:03:04 »
Непонятно. Предлагаю дождаться ответа автора
AS IS...

Оффлайн Dj Fly

  • Simply Dj :-)
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.digitals-pace.com
Обработка поля с типом enum?
« Ответ #6 : 03 Января 2002, 00:59:13 »
Короче, если нужно внести значения из того, что введёт пользователь на странице, то нужно предположим использовать форму:




                                 ...

mysql_query("create table test(super ENUM(\'s1\',\'s2\',\'s3\'....\'sn\'))");
?>


Или:

Таким макаром из хтмл мона передавать массив и делать с ним всё, что угодно в php

Оффлайн Dj Fly

  • Simply Dj :-)
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.digitals-pace.com
Обработка поля с типом enum?
« Ответ #7 : 03 Января 2002, 01:04:09 »
А может просто надо запросом MySQL узнать возможные значения поля? Вчитайтесь в вопрос - очень похоже на то...

Хм... действительно как :-)))))
describe table :-)))

Оффлайн Dj Fly

  • Simply Dj :-)
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.digitals-pace.com
Обработка поля с типом enum?
« Ответ #8 : 03 Января 2002, 01:28:51 »
Если так, то вот скрипт, дающий полное описание таблицы MySQL: Expecially for you :-))) :


$hostname = "хост";
$username = "логин";
$password = "пароль";
$dbName = "имябазы";
$table="имятаблицы";

if(!MYSQL_CONNECT($hostname,$username,$password))
{ echo "Не могу соединиться с базой $dbName
"; exit; }
if (!mysql_select_db("$dbName")) {echo "cant connect";}
?>


   
   
   
   
   
   
 

$result=mysql_query("describe $table");
$n=mysql_num_rows($result);
for($i=0;$i<$n;$i++)
{
 $field=mysql_result($result,$i,\'Field\');
 $type=mysql_result($result,$i,\'Type\');
 $null=mysql_result($result,$i,\'Null\');
 $key=mysql_result($result,$i,\'Key\');
 $default=mysql_result($result,$i,\'Default\');
 $extra=mysql_result($result,$i,\'Extra\');
?>
 
   
   
   
   
   
   
 
}
?>





Ну а теперь делай всё, что хочешь со значениями...
Ведь если ты их вывел print-ом, то и в форму загонишь...

  • Гость
Спасибо Dj Fly !!!
« Ответ #9 : 03 Января 2002, 10:09:55 »
Твои пример мне помог ;)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 

FieldTypeNullKeyDefaultExtra