470,848 Members | 1,294 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,848 developers. It's quick & easy.

Populating form item from SQL enum set

Hi

I am not even sure if it is at all possible, and I can't find the stuff I am
looking for, probably using the wrong search keys. WAMP machine (XP,
2.50.2, 4.1.5, 5.0.2)

I have a field in the MySQL table 'members':
"membertype" enum ('adult','student','senior','child','honour')

Sofar the form used for the db only has text fields, and the data entry user
relies on IE's autocomplete to always select a valid entry for the field. I
quick fixed this script so it at least checks the validity.

I'd prefer to have a general solution where the input field is a dropdown
box or something (or radio buttons) populated directly with all valid enum
fields. In case the db later is altered, enum set is modified, all the forms
should change automatically.

(How) can I retrieve the enum values from the db and use them in a dropdown
? Or who has a pointer to the right place where I can find how to do this ?
Or an example simlar snippet maybe ?
THANKS!

Pjotr
Jul 17 '05 #1
3 6814
I've used this once, but it's a bit ugly so here's to hoping a better
solution comes along :)

<?php

$sql = "SHOW COLUMNS FROM members LIKE 'membertype'";
$qry = mysql_query($sql);
$res = mysql_fetch_object($qry);
// This returns a row with a field 'Type' containing 'enum(...)'

$res->Type = str_replace('enum', 'array', $res->Type);

eval(" \$memberTypes = $res->Type; ");
foreach($memberTypes as $type) {
echo "<option...etc."
}
?>
Pjotr Wedersteers wrote:
Hi

I am not even sure if it is at all possible, and I can't find the stuff I am
looking for, probably using the wrong search keys. WAMP machine (XP,
2.50.2, 4.1.5, 5.0.2)

I have a field in the MySQL table 'members':
"membertype" enum ('adult','student','senior','child','honour')

Sofar the form used for the db only has text fields, and the data entry user
relies on IE's autocomplete to always select a valid entry for the field. I
quick fixed this script so it at least checks the validity.

I'd prefer to have a general solution where the input field is a dropdown
box or something (or radio buttons) populated directly with all valid enum
fields. In case the db later is altered, enum set is modified, all the forms
should change automatically.

(How) can I retrieve the enum values from the db and use them in a dropdown
? Or who has a pointer to the right place where I can find how to do this ?
Or an example simlar snippet maybe ?
THANKS!

Pjotr

Jul 17 '05 #2
On Fri, 29 Oct 2004 18:31:07 +0200, "Pjotr Wedersteers" <pj***@wedersteers.com>
wrote:
I am not even sure if it is at all possible, and I can't find the stuff I am
looking for, probably using the wrong search keys. WAMP machine (XP,
2.50.2, 4.1.5, 5.0.2)

I have a field in the MySQL table 'members':
"membertype" enum ('adult','student','senior','child','honour')

Sofar the form used for the db only has text fields, and the data entry user
relies on IE's autocomplete to always select a valid entry for the field. I
quick fixed this script so it at least checks the validity.

I'd prefer to have a general solution where the input field is a dropdown
box or something (or radio buttons) populated directly with all valid enum
fields. In case the db later is altered, enum set is modified, all the forms
should change automatically.

(How) can I retrieve the enum values from the db and use them in a dropdown
? Or who has a pointer to the right place where I can find how to do this ?
Or an example simlar snippet maybe ?
THANKS!


http://groups.google.com/groups?selm...&output=gplain

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #3
brommer wrote:
I've used this once, but it's a bit ugly so here's to hoping a better
solution comes along :)

<?php

$sql = "SHOW COLUMNS FROM members LIKE 'membertype'";
$qry = mysql_query($sql);
$res = mysql_fetch_object($qry);
// This returns a row with a field 'Type' containing 'enum(...)'

$res->Type = str_replace('enum', 'array', $res->Type);

eval(" \$memberTypes = $res->Type; ");
foreach($memberTypes as $type) {
echo "<option...etc."
}


TY, it works, and indeed doesn't look very elegant, but hey, it will do. The
other hint (by andy) has the same principle. I'll dive into the MySQL stuff
another time to see if I can find some more useful stuff on this matter.

again Thanks, both!
Jul 17 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Roger | last post: by
6 posts views Thread by Chris Leuty | last post: by
reply views Thread by Duderino82 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.