Took in your suggestions, Anthony and my code worked. Thank you so much for 
dedicating so much time towards helping others. I think I speak for 
everyone when I say you're very much appreciated!!

On Wednesday, October 15, 2014 9:44:32 PM UTC-4, Anthony wrote:
>
> On Wednesday, October 15, 2014 8:05:57 PM UTC-4, LoveWeb2py wrote:
>>
>> Hi Anthony,
>>
>> I think that part is correct.
>>
>
> In your original code, the inner loop looped over correct_questions, but 
> in the menu items, you did not reference the correct_questions item and 
> instead referenced the question item from the outer loop -- that is why you 
> saw the same menu item repeated multiple times.
>  
>
>> I've modified the code to do check if the question was answered correctly 
>> in the controller and append the question id to a list. Still not 
>> working... here is my controller:
>>
>>
>> def questions_for_people():
>>     correctList = []
>>     correct_questions = db((db.questions_answered.correct=="on") & 
>> (db.questions_answered.answered_by==auth.user.id)).select(db.questions_answered.ALL,
>>  
>> groupby=db.questions_answered.question, distinct=True).as_dict()
>>
>
> Why use .as_dict()? If you leave it as a Rows object, you can refer to 
> row.question instead of having to do correct_questions[row]['question'].
>
> Also, what is all_questions? Do they come from another db table, and if 
> so, is it linked to db.questions_answered? Perhaps you could just do a 
> single db query (via a join) to get the data you need.
>
>             <ul>
>>                     {{for question in all_questions:}}
>>                     {{if question['diff_level']==100 and question['id'] 
>> not in correctList:}}
>>                 
>>                     <li class="padded"><a href="{{=URL('challenges', 
>> vars={'chal':question['id']})}}">{{=question['title']}} 
>> ({{=question['points']}} pts) </a></li>
>>                 {{pass}}
>>                     {{else:}}
>>                 {{if question['diff_level']==100 and question['id'] in 
>> correctList:}}
>>                 <li class="padded"><i class="fa fa-check icon-small"></i> 
>> <a href="{{=URL('challenges', vars={'chal':question['id']})}}", 
>> style="color:gray;">{{=question['title']}} ({{=question['points']}} pts) 
>> </a></li>
>>                 {{pass}}
>>                 {{pass}}
>>
>> when I run this nothing returns back to my menu... 
>>
>
> If nothing returns, then presumable question['diff_level'] never equals 
> 100, as both if statements include that condition. Also, rather than 
> nesting the second if inside an else, you can simply use an elif.
>
> Anthony
>

-- 
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