in reply to mysql, checkbox, set, processing

I have to be honest, I don't understand what you are doing. Why would you be using 3 check boxes with the same name, but different values? How would you repopulate the form if you had to? "Name=1?" Which Name? I think you mean radio buttons, but then you would only be storing the selected value.

Are you sure you don't mean to have 3 different names for those check boxes? In which case you need to normalize the table and use 3 columns, one column for each (not a good practice to place more than one value in a column, especially if you have to parse it when you retrieve it later).

Sorry if I'm missing anything.


—Brad
"The important work of moving the world forward does not wait to be done by perfect men." George Eliot

Replies are listed 'Best First'.
Re^2: mysql, checkbox, set, processing
by Anonymous Monk on Sep 01, 2005 at 16:28 UTC
    Alakaboo -- thanks. I'm new to perl and didn't realize it would successfully post multiple values of the same name.

    Brad -- I'm building a form to handle research data.

    So, are you:
    A. Sick to your stomach
    B. Sick in your head
    C. Sick in your feet

    So the question is: are you sick? How?

    The name is "sick" and the values are A,B,C. That's why a radio wouldn't work.

    Shemp, Creating a lookup table is definitely the plan as we develop our platform for creating this type of survey in the future, but for this "one-off" form, it would be overkill. You make some great point, though, so I guess a seperate column for each checkbox is the way to go... for the reasons you mentioned, both indexing and adding/removing options.

    Thanks everybody, I'm new to Perl, but I knew this would be the place to ask.

    John Herr

      It's not really a Perl question, it's more of an organizational one. Bottomline, if you can be sick with all three, then use checkboxes. If only one, then use radio.

      In your database you would have a table for all the kinds of sickness, a table for the patient id, and a table with a column for the patient id and one for the type of sickness id. You would join the patient and tables to do a query on any one patient.

      HTML: <input type="checkbox" name="stomach" value="1" /> <input type="checkbox" name="head" value="2" /> <input type="checkbox" name="feet" value="3" /> SICKNESS TABLE: +----+---------+ | id | name | +----+---------+ | 1 | stomach | +----+---------+ | 2 | head | +----+---------+ | 3 | feet | +----+---------+ PATIENT TABLE: +----+---------+ | id | name | +----+---------+ | 1 | Bill | +----+---------+ | 2 | Susan | +----+---------+ | 3 | Mary | +----+---------+ STATUS TABLE: +------------+----------+ | patient id | sickness | +------------+----------+ | 1 | 2 | +------------+----------+ | 1 | 3 | +------------+----------+ | 2 | 1 | +------------+----------+

      Insert a row into the "patient-sickness" table for each type of sickness the patient has checked.


      —Brad
      "The important work of moving the world forward does not wait to be done by perfect men." George Eliot
        Well, honestly it WAS a perl question. I appreciate your kind response, but if you read mine, you'd see that I DIDN'T know that PERL would post the mulitple values for the same param name. That was the quick fix for my demo on Tuesday.

        I also mentioned that lookup tables are in the works for platform development (in fact every input type + textareas will have a table, with a series of lookup tables to connect pages, surveys and users), but are overkill for this particular form.

        Thanks again.