Re: Dealing with ENUM fields
| From: | heilo | Date: | Mon, 02 Jun 2003 09:41:24 +0000 |
| Subject: | Re: Dealing with ENUM fields | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-28223@lists.php.net to get a copy of this message | ||
hi!
i think it would be better to make a second table because then you do not
need any of those scripts and just can use a JOIN. anyways it is better for
the database-management to make it as module as possible and saving those 4
values (which do not change?) in a enum-field - i do not know. If you really
do not want to create a second table i would suppose not to use ENUM but SET
as it provides multiple choice for each row (in your case you just could use
every value). if i understood your problem right - why not just create 4
additional columns which do not really change?
.ma
Lisi <lists@shemeshdirectory.co.il> wrote@02.06.2003 12:40 Uhr:
> What's the application? What are the issues with using ENUM verses
> something else?
>
> -Lisi
>
> At 05:32 AM 6/2/03 -0400, Becoming Digital wrote:
>> Thanks to both Heilo and Lisi. These scripts should make things easier.
>>
>> Is it safe to assume that we are in agreement about the use of an ENUM
>> field for
>> this application?
>>
>> Edward Dudlik
>> Becoming Digital
>> www.becomingdigital.com
>>
>>
>> ----- Original Message -----
>> From: "heilo" <grillen@abendstille.at>
>> To: "PHP-DB" <php-db@lists.php.net>
>> Sent: Monday, 02 June, 2003 05:11
>> Subject: Re: [PHP-DB] Dealing with ENUM fields
>>
>>
>> Hi!
>>
>> there is a much shorter way to do this (which works with ENUM and SET):
>>
>>
>> $qry = 'SHOW COLUMNS FROM
gruzilla_content LIKE
>> "module"';
>> $res = mysql_query($qry);
>> if(mysql_num_rows($res)>0)
>> {
>> $row = mysql_fetch_row($res);
>> $pattern = "#(enum|set)\('(.+?)'\)#i";
>> $replace = '\\2';
>> $row[1] = preg_replace($pattern, $replace, $row[1]);
>> $options = explode("','", $row[1]);
>> }
>>
>> $options now contains every value of the enum. I think there is also a
>> possibility to do this within a query - but currently i do not find the
>> script on my HD.... :) - so this is a nice workaround!
>>
>> .ma
>>
>>
>> Lisi <lists@shemeshdirectory.co.il> wrote@02.06.2003 11:53 Uhr:
>>
>>> I am forwarding this useful function someone once sent to the list that I
>>> use often.
>>>
>>> Hope this fits your needs.
>>>
>>> -Lisi
>>>
>>>
>>>> -----Original Message-----
>>>> From: Russ [mailto:russ@itomic.dns2go.com]
>>>> Sent: Wednesday, June 26, 2002 7:47 PM
>>>> To: NIPP, SCOTT V (SBCSI); php-db@lists.php.net
>>>> Subject: RE: [PHP-DB] Populating a dropdown list with ENUM values...
>>>>
>>>>
>>>> G'day Scott:
>>>>
>>>> I wrote this function to do just what you're atfer:
>>>> You may need to mess with it for you're own needs - but go for your
>>>> life!
>>>>
>>>> //----function: "enum_select()" - automatically generate an HTML select
>>>> menu from a MySQL ENUM field
>>>> //----1). takes a table name: '$table'
>>>> //----2). a name for the menu '$name'
>>>> //----3). a CSS class
>>>> function enum_select($table,$name,$class) {
>>>> $sql = "SHOW COLUMNS FROM $table";
>>>> $result = mysql_query($sql);
>>>> $select = "<select name=\"$name\"
>>>> class=\"$class\">\n\t";
>>>> while($myrow = mysql_fetch_row($result)){
>>>> $enum_field = substr($myrow[1],0,4);
>>>> if($enum_field == "enum"){
>>>> global $enum_field;
>>>> $enums = substr($myrow[1],5,-1);
>>>> $enums =
>>>> ereg_replace("'","",$enums);
>>>> $enums = explode(",",$enums);
>>>> foreach($enums as $val) {
>>>> $select .= "<option
>>>> value=\"$val\">$val</option>\n\t";
>>>> }//----end foreach
>>>> }//----end if
>>>> }//----end while
>>>> $select .= "\r</select>";
>>>> return $select;
>>>> }//----end function
>>>>
>>>>
>>>> All the best.
>>>> Russ
>>>>
>>>> --
>>>> PHP Database Mailing List (http://www.php.net/)
>>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>
>> Matthias Steinböck
>> Email: grillen@abendstille.at
>> Web: http://www.abendstille.at
>>
>> Frühabendliches Webdesign.
>> ------------------------------------------
>> Im Übrigen sind wir der Meinung, dass
>> unsere Gesellschaft Gabel-diskriminierend
>> Löffel verwendet. Alle Macht den Gabeln!
>>
>>
>> --
>> PHP Database Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>>
>>
>>
>> --
>> PHP Database Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
Matthias Steinböck
Email: grillen@abendstille.at
Web: http://www.abendstille.at
Frühabendliches Webdesign.
------------------------------------------
Im Übrigen sind wir der Meinung, dass
Sofas neben Trinkautomaten zu den
Bedrohten Tierarten in Gymnasien
Zählen. Wir fordern mehr Sofas!!