Re: Dealing with ENUM fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:  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:  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!!


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux