[Zope] lists, not strings in database
Greg Fischer
gfischer@techgroupinc.com
Wed, 4 Sep 2002 12:48:43 -0700
Thank you, Tom, for the help!
This is what I did to insert into the table:
<dtml-call
"sqlInsertIssue(PeopleInvolved=3D_.string.join(PeopleInvolved,','))">
Then I displayed the results like so:
<table border=3D0>
<dtml-in expr=3D"_.string.split(PeopleInvolved,',')">
<tr><td><dtml-var sequence-item></td></tr>
</dtml-in>
</table>
>From this, many more options open for programming the sequence-item.
And, it's all dynamic! =20
Thanks!
Greg
-----Original Message-----
From: Thomas B. Passin [mailto:tpassin@mitretek.org]
Sent: Tuesday, September 03, 2002 1:58 PM
To: zope@zope.org
Subject: Re: [Zope] lists, not strings in database
[Greg Fischer]
[[
That makes sense. So, what I would like is either a comma sepparated
list in the column, or space separated.
aperson bperson cperson
]]
OK, easy enough. If "multiples" is a list of strings, you can get a
comma-separated string for it like this:
<dtml-var "_.string.join(multiples,',')">
You can use any separator, not just ",". You could store this string in
the
database. When you want to loop through all the names, you can create a
list from the string like this:
"_.string.split(csv_string,',')"
You can use this list with dtml-in, as in
<dtml-in "_.string.split(csv_string,',')">...</dtml-in>
The only point you still need to handle is to make sure that your html
form
always returns a list (otherwise you have to check it before you feed it
to
a dtml-in statement). You can make this happen by adding ":list" to the
name of the input element:
<select name=3D'person:list'>...</select>
Cheers,
Tom P
_______________________________________________
Zope maillist - Zope@zope.org
http://lists.zope.org/mailman/listinfo/zope
** No cross posts or HTML encoding! **
(Related lists -=20
http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope-dev )