Home > Archive > PHP DB > April 2005 > retrieve enum values
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
retrieve enum values
|
|
| Mel List_php 2005-04-14, 3:55 pm |
| Hi!
I have a column type enum in mysql.
At the moment the possible values are 1,2 and 3.
I make a form for my user to modify that value, something like:
<select>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>
I may need to add a value 4 to the enum, and in that case I would like to
avoid modifying the code.
I would like to know it it is possible to have something like:
select possible_enum_values from table ...
and then having a loop through these values.
I can't select distinct values in that column because one value may not
exist yet and I don't want to have fake records.
I found that in the mysql doc and was wondering if there is an already
implemented php function intsead of having to parse:
" If you want to determine all possible values for an ENUM column, use SHOW
COLUMNS FROM tbl_name LIKE enum_col and parse the ENUM definition in the
second column of the output."
Any idea?
Melanie
________________________________________
_________________________
It's fast, it's easy and it's free. Get MSN Messenger today!
http://www.msn.co.uk/messenger
| |
| Nadim Attari 2005-04-15, 3:56 am |
| $descRS = mysql('describe theTableName theEnumColumn');
list($fld_name, $fld_type, $fld_null, $fld_key, $fld_default, fld_extra) =
mysql_fetch_row($descRS);
mysql_free_result($descRS);
// Values you will be interested: $fld_type (and $fld_default perhaps)
// $fld_type will be equal to = enum('1', '2', '3')
$enumValuesArr = split(',', str_replace("'", "", substr($fld_type, 5, -1)));
echo '<select>';
foreach ($enumValuesArr as $enumValue) echo "<option
value='$enumValue'>$enumValue</option>"
echo '</select>';
-----------------------------------------
Hope it gonna help!
Regards,
Nadim Attari,
Alienworkers.com
-----------------------------------------
> Hi!
>
> I have a column type enum in mysql.
> At the moment the possible values are 1,2 and 3.
>
> I make a form for my user to modify that value, something like:
> <select>
> <option value='1'>1</option>
> <option value='2'>2</option>
> <option value='3'>3</option>
> </select>
>
> I may need to add a value 4 to the enum, and in that case I would like to
> avoid modifying the code.
>
> I would like to know it it is possible to have something like:
> select possible_enum_values from table ...
> and then having a loop through these values.
> I can't select distinct values in that column because one value may not
> exist yet and I don't want to have fake records.
>
> I found that in the mysql doc and was wondering if there is an already
> implemented php function intsead of having to parse:
> " If you want to determine all possible values for an ENUM column, use
SHOW
> COLUMNS FROM tbl_name LIKE enum_col and parse the ENUM definition in the
> second column of the output."
>
> Any idea?
>
> Melanie
|
|
|
|
|