O'Reilly logo

MySQL Cookbook by Paul DuBois

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required