Creating Single-Pick Form Elements from Database Content
Problem
A form needs to present a field that offers several options but enables the user to select only one of them.
Solution
Use a single-pick list element. These include radio button sets, pop-up menus, and scrolling lists.
Discussion
Single-pick form elements enable you to present multiple choices from which a single option can be selected. Our construct-a-cow scenario involves several sets of single-pick choices:
The list of colors in the
cow_color
table. These can be obtained with the following statement:mysql>
SELECT color FROM cow_color ORDER BY color;
+---------------+ | color | +---------------+ | Black | | Black & White | | Brown | | Cream | | Red | | Red & White | | See-Through | +---------------+Note that some of the colors contain a
&
character, which is special in HTML. This means they will need HTML-encoding when placed into list elements. (We’ll perform encoding for all the list elements in the form as a matter of course, but those values illustrate why it’s a good idea to get in that habit.)The list of legal figurine sizes in the
size
column of thecow_order
table. The column is represented as anENUM
, so the possible values and the default value can be obtained fromINFORMATION_SCHEMA
:mysql>
SELECT COLUMN_TYPE, COLUMN_DEFAULT
->FROM INFORMATION_SCHEMA.COLUMNS
->WHERE TABLE_SCHEMA='cookbook' AND TABLE_NAME='cow_order'
->AND COLUMN_NAME='size';
+--------------------------------+----------------+ | COLUMN_TYPE | ...
Get MySQL Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.