Test you double table query with real value instead of using
request.vars.keyword... Pass the keyword you know are good directly to make
sure if your query is correct first and then you try to figure out why it
not working with request.

So instead of :

query = ( ((db.talab.id == db.talab_comment.talab_id) & (db.talab.id ==
db.talab_**document.id <http://db.talab_document.id/>)) &
        (   (db.talab.body.contains(**request.vars.keyword))         |
(db.talab.title.contains(**request.vars.keyword))
|(db.talab_comment.body.**contains(request.vars.keyword)**) |
(db.talab_document.doc_title.**contains(request.vars.keyword)**)
)
     )

query = (((db.talab.id == db.talab_comment.talab_id) & (db.talab.id ==
db.talab_**document.id <http://db.talab_document.id/>)) &
 ((db.talab.body.contains('VALUEYOUKNOWTHATEXIST')) |
(db.talab.title.contains('VALUEYOUKNOWTHATEXIST')) | (db.talab_comment.body.
**contains('VALUEYOUKNOWTHATEXIST')**) | (db.talab_document.doc_title.**co
ntains('VALUEYOUKNOWTHATEXIST')**)))

Also, do you try to wrote the query in SQL then translate in into web2py
query?

Richard

On Fri, Nov 2, 2012 at 9:55 AM, apps in tables <[email protected]>wrote:

>
> Hi Massimo,
>
> I replaced *request.vars.keyword     with      **request.vars.keyword or
> ''*
>
> it did give me a blank page ( empty ) .... no error.
>
> you are getting closer.
>
>
>
> On Friday, November 2, 2012 4:32:43 PM UTC+3, Massimo Di Pierro wrote:
>>
>> Can you check the value of *request.vars.keyword*
>> *You would get this error if request.vars.keyword is None. Perhaps you
>> need to add*
>> *
>> *
>> *request.vars.keyword = **request.vars.keyword or ''**
>> *
>> *
>> *
>> On Friday, 2 November 2012 04:16:29 UTC-5, apps in tables wrote:
>>>
>>> Hi,
>>>
>>> Let me rephrase the question.
>>>
>>> This query
>>>
>>>  query = db.talab.body.contains(**request.vars.keyword) |
>>> db.talab.title.contains(**request.vars.keyword)
>>>
>>>
>>> is working fine.
>>>
>>> But, this query
>>>
>>> query = ( ((db.talab.id == db.talab_comment.talab_id) & (db.talab.id ==
>>> db.talab_**document.id <http://db.talab_document.id/>)) &
>>>         (   (db.talab.body.contains(**request.vars.keyword))         |
>>> (db.talab.title.contains(**request.vars.keyword))
>>> |(db.talab_comment.body.**contains(request.vars.keyword)**) |
>>> (db.talab_document.doc_title.**contains(request.vars.keyword)**)
>>> )
>>>      )
>>>
>>>
>>> is giving the error
>>>
>>> CONTAINS() takes exactly 3 arguments (2 given)
>>>
>>>
>>> Any ideas?
>>>
>>> Regards,
>>>
>>> Ashraf
>>>
>>  --
>
>
>
>

-- 



Reply via email to