Hi yes the zip was used as a way to loop through both sets of data as was recommended to me
this is the db structure for product db.define_table('product', Field('product_name',length=32,comment='Name of your product'), Field('userinfo', db.auth_user, default=auth.user_id, readable=False, writable=False), Field('category',db.category, requires=IS_IN_DB(db,db.category.id ,'%(name)s')), Field('description','text',requires=IS_NOT_EMPTY(),comment='Description of your product'), Field('image','upload',requires=IS_NOT_EMPTY(),comment='Image of your product'), Field('contact',default='[email]',requires=IS_EMAIL(),comment='Contact Information for this product (email or phone etc)'), Field('quantity','integer',default=1,comment='How Many products are in stock'), Field('tax_rate','double',default=0.14,writable=False), Field('price','double',default=1.00,comment='cost of this product'), Field('currency', db.currency_paypal, requires=IS_IN_DB(db, db.currency_paypal.id,'%(current)s'))) here is the user_extended db structure db.define_table('user_extended', Field('userinfo', db.auth_user, default=auth.user_id,unique=True, readable=False, writable=False), Field('profile_name',length=32,label="User Profile Name",comment='User Profile Name'), Field('logo',length=32,label="Logo",comment='Avatar'), Field('country',requires=IS_IN_SET(COUNTRIES),comment='Country Location'), Field('city',comment='City'), Field('state',comment='State'), Field('age','integer',length=2,comment='Age'), Field('email',label="Public Email",requires=IS_EMAIL(),comment='Public Email'), Field('address',requires=IS_NOT_EMPTY(),comment='Address(Store Locator)'), Field('phone',length=11,comment='Business Phone'), Field('image','upload',comment='Image of yourself'), Field('description','text',label="About Me",requires=IS_NOT_EMPTY(),comment='About Me')) basically I want to use both tables. So when you click the product link it goes to a page showing data from both these tables the zip() was used to loop through the data so that I didn't have to embed a for loop inside each other because that caused problems *cheers and ty for the help