[Zope] Populating a form
Ian J Cottee
icottee@bluefountain.com
27 Apr 2002 02:13:48 +0900
Hi Larry
"McDonnell, Larry" <lmcdonnell@protonenergy.com> writes:
> I am new to the Zope environment but I have been successful. I have been
> able to add odbc database connection and through a form input information to
> this database. Now I would like to view this information. I have set up z
> sql methods and I can see the info under the manage_test format. I would
> like to be able to re-populate my output form (its a copy of the input form
> but without the submit). I have gone through the zope book but maybe I
> missed something. Any examples or pointer I can use, thanks.
If I understand you correctly, you want to have a form that displays
just one record on the screen? A very basic method would be to create
one ZSQL method to get your item and one DTML Document to display
it. So your SQL Method would look something like this
<params>pk</params>
SELECT CODE, DESCRIPTION, PRICE FROM MYFILE WHERE
ID = <dtml-sqlvar pk type=int>
Lets say that simple method is called sqlSelect
Now create a form in the same folder and it will look something like
this (untested)
<dtml-var standard_html_header>
<dtml-in sqlSelect>
My Code Is: <dtml-var CODE null=""><br>
My Description Is: <dtml-var DESCRIPTION null=""><br>
My Price is: <dtml-var PRICE fmt="%3.2f" null="0.00">
</dtml-in>
<dtml-var standard_html_footer>
If that form was called view_data you can call it with something like
http://my.web.server:8080/view_data?pk=1
Which would display the data for the record with an ID of 1. You won't
get may design awards for the interface though ;-)
If you are putting the data back into the input fields you'd have just
have stuff like
<input type="text" name="iDescription" value="<dtml-var DESCRIPTION null="">">
hth
Ian
PS It's 2am here so forgive me for any mistakes above but that should
drive you in the right direction.