say you have
db=SQLDB('sqlite://storage.db')
db.define_table('contact',SQLField('name'),SQLField('category'))
db.contact.name.requires=IS_NOT_EMPTY()
db.contact.category.requires=IS_IN_SET(['friend','enemy'])
here are three possible searches controllers:
def search_by_name():
form=SQLFORM(db.contact,fields=['name'])
if request.vars.name: rows=db(db.contact.name.like('%%%s%%' %
request.vars.name)).select(orderby=db.contact.name)
else: rows=[]
return dict(form=form,rows=rows)
def search_by_category():
form=SQLFORM(db.contact,fields=['category'])
if request.vars.category: rows=db
(db.contact.category==request.vars.category).select
(orderby=db.contact.name)
else: rows=[]
return dict(form=form,rows=rows)
def search_by_name_and_category():
form=SQLFORM(db.contact,fields=['name','category'])
s=db
if request.vars.name: s=s(db.contact.name.like('%%%s%%' %
request.vars.name))
if request.vars.category: s=s
(db.contact.category==request.vars.category)
if request.vars: rows=s.select(orderby=db.contact.name)
else: rows=[]
return dict(form=form,rows=rows)
hope this help. Hope no typoe.
Massimo