[Zope] Passing information from a form to an SQL method via a DTML methodd

Phil Harris phil@philh.org
Mon, 27 Sep 1999 14:18:30 +0100


Hi Peter,

OK, I'll give you an example.

DTML Document called doc_dtml, has a form with three fields called a,b,c
respectively.

<!--#var standard_html_header-->
<form action="act_dtml">
<table>
<tr><th align=left>A</th><td><input type=text name=a></td></tr>
<tr><th align=left>B</th><td><input type=text name=b></td></tr>
<tr><th align=left>C</th><td><input type=text name=c></td></tr>
<tr><td></td><td><input type=submit></td></tr>
</table>
</form>
<!--#var standard_html_footer-->

DTML Document called act_dtml which calls a SQL Method to update/insert a
database.

<!--#var standard_html_header-->
<dtml-call "dbupdate(a=a,b=b,c=c)">
Thank you for you interest.
<!--#var standard_html_footer-->

SQL Method called dbupdate (you are better off setting the parameters entry
box to 'a:string b:string c:string')

insert into test values(
<dtml-sqlvar a type=string>,
<dtml-sqlvar b type=string>,
<dtml-sqlvar c type=string>)

Once you run these three objects starting with doc_dtml you will have
updated your db.

HTH

Phil
phil@philh.org


-----Original Message-----
From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Peter
Whysall
Sent: Monday, September 27, 1999 2:01 PM
To: 'zope@zope.org'
Subject: [Zope] Passing information from a form to an SQL method via a
DTML methodd


I'm getting stuck with this.

I have a DTML document, doc.dtml, with a form whose action, act.dtml, tells
the user "thank you very much, please call again" and runs an SQL method,
new.sql, which inserts data from fields a,b,c (from doc.dtml) into the MySQL
database.

Obviously it's not working, else I wouldn't be writing this :)

What I want to know is this: how do I perform the following tasks (I've had
a look in the DTML user's guide and can't find anything to help me):

1. Pass data as an attribute/property/parameter from a DTML document to a
DTML method and hence to a ZSQL method. Do I need to set up some variables,
populate them with my data, and pass them to the DTML method which then
passes them to the SQL method?
2. Glean data from a query and pass that too (example. We know who the
logged in user is, via AUTHENTICATED_USER.name; this is a key in the USERS
table in the database and I want to look up the user_id and insert that, not
the textual name)
3. Pass the current date/time; I can get it, like this: <dtml-var ZopeTime
fmt="rfc822">. How do I squizz this along to the query?

Alternatively, am I completely missing the point here?

Many thanks in advance

Peter.

_______________________________________________
Zope maillist  -  Zope@zope.org
http://www.zope.org/mailman/listinfo/zope

(To receive general Zope announcements, see:
http://www.zope.org/mailman/listinfo/zope-announce

For developer-specific issues, zope-dev@zope.org -
http://www.zope.org/mailman/listinfo/zope-dev )