Re: Dealing with ENUM fields
| From: | Becoming Digital | Date: | Mon, 02 Jun 2003 09:32:01 +0000 |
| Subject: | Re: Dealing with ENUM fields | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-28221@lists.php.net to get a copy of this message | ||
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