[Zope] How do I call a parameter from inside of the same form?
Dieter Maurer
dieter@handshake.de
Wed, 5 Jul 2000 22:41:10 +0200 (CEST)
Sean G Richards writes:
> Hello,
> I am trying to build an SQL statement in a form, and then pass the
> statement onto a Z SQL method, for execution.
> something like
>
> < form action="search_results" method="get">
>
> <input type="text" name="select_statement" value="SELECT name,
> phone_number, address FROM black_book WHERE" size=20>
>
> <select name="where_statement" size=3>
> <option value=" name = 'jennifer' ">Jennifer
> <option value=" name='anne' " > Anne
> <option value=" name='alice' ">Alice
> </select>
>
> <input type="hidden" name="cat_both_previous_statements"
> value="<dtml-sqlvar select_statement type=string> <dtml-sqlvar
> where_statement type=string>">
>
> <input type="SUBMIT" name="SUBMIT" value="SUBMIT">
> </form>
>
> I understand that this isn't the correct way to do this, ....
Note:
you let the form fill in the browser but you build
the SQL in the server, more precisely the "search_result" object.
The form should only contain fields that need be changed by
the user (and texts to help the user to fill the fields).
Thus, usually, your form would not have a field
with a "select statement", unless the user should be able
to change this, e.g. into an "insert" statement or something (DANGER!).
As an simple xample, you may have:
<form action=search>
Name to Search for: <select name=name size=3>
<option value="jennifer">Jennifer
....
</select><br>
<input type=submit>
</form>
On the server side, you would usually use a Z SQL Method
to do the actual search. See the Z SQL Method guide at
Zope.org/Documentation for examples.
Your method would probably have a parameter "name"
(the same you used for your form field!).
The "search" DTML method could then be:
<dtml-var standard_html_header>
<dtml-in ZSQLMethod>
<dtml-var name> <dtml-var phone_number> <dtml-var address><br>
</dtml-in>
<dtml-var standard_html_footer>
Look at other examples in the Z SQL Method guide.
Dieter