[Zope] Checkbox form data storage was (Help with expr)

Eric Walstad eric@walstads.net
Fri, 10 Aug 2001 10:35:48 -0700


Hi Todd,
Please keep this thread on the mailing list...

> I have one column named membership type varchar(30)
OK.  I'm assuming that the field has values like:
"D,A,M,I,T" (heehee, couldn't resist :)

If so, you will need to convert the list of strings in the "membership"
REQUEST variable to a string of comma separated values before you update
your database with a ZSQL Method.

Hint: read about Python's string.join() function (accessible in DTML with
<dtml-var expr="_.string.join()">)

Eric.

> >Hi Todd,
> >Does your database table have *one* string field named
> "membership" or are
> >there many boolean fields that represent the different
> memberships that each
> >user record can have?  Depending on that answer, you will need to use a
> >different method to store the checkbox data in your database.
> >
> >When your form is submitted, Zope will interpret your check
> boxes as a list
> >of string values.
> >You can verify this by posting your form to a DTML method that includes:
> ><dtml-var REQUEST>
> >and looking at the form variables.  That list represents the
> items checked
> >in your form.
> >
> >In your ZSQL Method you can use the <dtml-sqlgroup> , <dtml-sqlvar> and
> ><dtml-sqltest> tags to dynamically build your SQL string.
> >
> >Have a look at the "Passing Parameters to Scripts" and "Dynamic
> SQL Queries"
> >sections of the Zope Book.  There are a lot of great examples there.
> > > -----Original Message-----
> > > From: Todd Loomis [mailto:tloomis@dmso.mil]
> > > Sent: Friday, August 10, 2001 8:45 AM
> > > To: eric@walstads.net
> > > Subject: RE: [Zope] Help with expr
> > > Eric:
> > > I have a set of check boxes that can be checked if the person is
> > > a member.
> > > My problem is if I pick more than one membership nothing goes into the
> > > database. So when bring the record up to view or edit I get no boxes
> > > checked even if they should be, here's my codes:
> > > Form:
> > > <input type="checkbox" name="membership" value="D"> DMSO&nbsp;&nbsp;
> > > <input type="checkbox" name="membership" value="A"> AMG&nbsp;&nbsp;
> > > <input type="checkbox" name="membership" value="E"> EXCIMS&nbsp;&nbsp;
> > > <input type="checkbox" name="membership" value="M">
> MSWG&nbsp;&nbsp;<br>
> > > <input type="checkbox" name="membership" value="V"> VV&amp;A
> > > TWG&nbsp;&nbsp;
> > > <input type="checkbox" name="membership" value="T"> VV&amp;A
> > > TST&nbsp;&nbsp;
> > > <input type="checkbox" name="membership" value="I"> MSTWG&nbsp;&nbsp;
> > >
> > > SQL:
> > > <dtml-var membership type="string">
> > >
> > > Todd