Creating Single-Pick Form Elements from Database Content

Problem

A form needs to present a field that offers the user a set of options but allows only one of them to be selected.

Solution

Use a single-pick list element. These include radio button sets, pop-up menus, and scrolling lists.

Discussion

Single-pick form elements allow you to present multiple choices from which a single option can be selected. Our example involves several sets of single-pick choices:

  • The list of colors in the cow_color table. These can be obtained with the following query:

    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. (Actually, we’ll perform encoding for all the list elements in the form, but these values illustrate why it’s a good idea to get in that habit.)

  • The list of legal figurine sizes in the size column of the cow_order table. The column is represented as an ENUM, so the possible values and the default value can be obtained using SHOW COLUMNS:

    mysql> SHOW COLUMNS FROM cow_order LIKE 'size'\G
    *************************** 1. row ***************************
      Field: size
       Type: enum('small','medium','large')
       Null: YES
        Key:
    Default: medium
      Extra:
  • The list of state names and abbreviations. These are available ...

Get MySQL Cookbook 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.