I have trying to display random question for every login (Means client get 
different questions for every login).
Here I gave my db.py and def doing paper. Please help me to solve the 
problem. 


db.define_table('ins_ques',
Field('qnum','integer',notnull=True,readable=False,writable=False,label='Question
 
Number'),
Field('qupload','upload',label='Upload Image'),
Field('question','text',notnull=True,label='Question'),
Field('op1','string',notnull=True,label='Option A'),
Field('op2','string',notnull=True,label='Option B'),
Field('op3','string',notnull=True,label='Option C'),
Field('op4','string',notnull=True,label='Option D'),
Field('cor_ans',requires=IS_IN_SET(['A','B','C','D'],multiple=True),label='Correct
 
Answer',widget=SQLFORM.widgets.checkboxes.widget)
)
db.define_table('ans_ques',
Field('qdate','date',readable=False,writable=False,label='Date of Paper'),
Field('qnum','integer',readable=False,writable=False),
Field('studentid','integer',readable=False,writable=False),
Field('answer','string',requires=IS_IN_SET(['A','B','C','D'],multiple=True),widget=SQLFORM.widgets.checkboxes.widget)
)
db.define_table('marks',
Field('studentid',db.auth_user,requires=IS_IN_DB(db((db.auth_user.id==db.auth_membership.user_id)&(db.auth_membership.group_id==
 
  
 
db.auth_group.id)&(db.auth_group.role=='students')),'auth_user.id','auth_user.first_name'),readable=False,writable=False),
Field('marks','integer'))



def doing_paper():
    pid=auth.user_id
    q_num=int(request.vars.q_num)
    question=db((q_num==db.ins_ques.qnum)).select(db.ins_ques.ALL)
    val=db(db.ins_ques).select(db.ins_ques.ALL)
    rmax=0
    for f in val:
          rmax+=1
    if (q_num <= 0):
response.flash='This is the first question!!!!'
q_num=1
redirect(URL(r=request,f='doing_paper?q_num=%s') % (q_num) )
    elif (len(question) > 0) :
    for i in question:
            if i:
                question=i
                break
            else:
                q_num=q_num-1
                redirect(URL(r=request,f='preprocess?q_num=%s') % (q_num))
    else:
q_num=q_num-1
redirect(URL(r=request,f='preprocess?q_num=%s') % (q_num))
    if question:
form=SQLFORM.factory(db.ans_ques)
    form.vars.qnum=q_num
    form.vars.studentid=pid
    
answered=db((db.ans_ques.answer!='||')&(db.ans_ques.studentid==pid)).select(db.ans_ques.qnum)
    n=[]
    for k in answered:
        n.append(k['qnum'])
    
ans_yet=db((db.ans_ques.studentid==pid)&(db.ans_ques.qnum==q_num)).select(db.ans_ques.answer)
    if(ans_yet and ans_yet[0]['answer']!='||'):
        form.vars.answer=ans_yet[0]['answer']
    if form.accepts(request.vars,session):
if 
db((db.ans_ques.qnum==q_num)&(db.ans_ques.studentid==pid)).select(db.ans_ques.answer):
db((db.ans_ques.qnum==q_num)&(db.ans_ques.studentid==pid)).update(answer=form.vars.answer)
else:
db.ans_ques.insert(answer=form.vars.answer,qnum=q_num,studentid=pid)
q_num=q_num+1
redirect(URL(r=request,f='doing_paper?q_num=%s') % (q_num))
    return locals()

Regards 
Sai Harsh

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to