close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Search not working with WHERE clause

Thread began 6/29/2012 12:56 pm by atstech | Last modified 7/06/2012 4:34 am by atstech | 2960 views | 9 replies |

atstech

Search not working with WHERE clause

Please see attached.

Basic stuff... I have a database with articles and a form to search with. The search form has 4 drop down menus. The search function seems to work correctly. My problem is that on the rsArticles recordset, I need to sort the results by active = 1. In the database, a column named active is either 1 or 0. 1 is active, 0 is not. So if my recordset is SELECT * FROM articles, then the search function works correctly. If I change my recordset to SELECT * FROM articles WHERE active = 1, then the search results return ALL records that are marked active regardless if they meet search criteria.

I think what I need is to group the mySql statement differently but I'm unsure how to do this with the DataAssist Search recordset.

Any ideas?

Sign in to reply to this post

Jason ByrnesWebAssist

nothing is attached,

please compress the file to a zip archive and attach the zip file.

also include a URL where i can see the problem.

Sign in to reply to this post

atstech

Please see attached. I have included a screenshot of the table.

searchtest.php

Attached Files
therma-search.zip
Sign in to reply to this post

Ray BorduinWebAssist

You probably just want to change all of the"OR" references to "AND" in these lines:


$WADbSearch1->addComparisonFromEdit("title1","Equipment","OR","=",0);
$WADbSearch1->addComparisonFromEdit("title2","Industry","OR","=",0);
$WADbSearch1->addComparisonFromEdit("title3","Application","OR","=",0);
$WADbSearch1->addComparisonFromEdit("title4","Process","OR","=",0);

Sign in to reply to this post
Did this help? Tips are appreciated...

atstech

Unfortunatly no, that will not work. The search results are for any of the options, not all of them. The logic would be search for Any where active=1

Sign in to reply to this post

Jason ByrnesWebAssist

add the active = 1 where clasue to the rsArticles recordset:

SELECT * FROM port_article WHERE active = 1

Sign in to reply to this post

atstech

Thanks for the reply. I tried that and therein lies the problem. As the code is now, see attached, When any search is done, it returns ALL records where active = 1 regardless of search criteria. If I remove the active = 1 from the recordset, it displays correctly according to the search criteria. I just have to figure out how to display correctly with the search criteria AND active = 1.

I attached an image of the Dataassist sample search. It shows:

WHERE active = '1'(title1 = 'Equipment') OR (title2 = 'Industry') OR (title3 = 'Application') OR (title4 = ('Process')

To accomplish what I need, I should be able to group mySql statement such as:

WHERE active = '1' AND (title1 = 'Equipment' OR title2 = 'Industry' OR title3 = 'Application' OR title4 = 'Process')

I just don't know how to accomplish this within the code Dataassist creates.

Attached Files
wa-search.zip
Sign in to reply to this post

Jason ByrnesWebAssist

I have created a support ticket so we can look into this issue further.

To view and edit your support ticket, please log into your support history:
supporthistory.php

If anyone else is experiencing this same issue, please append to this thread.

Sign in to reply to this post

Ray BorduinWebAssist

There is no way to do grouping with the interface, but you may be able to do it manually...

Try adding this above the recordset:

<?php
if ($WADbSearch1->whereClause) $WADbSearch1->whereClause = "(".$WADbSearch1->whereClause.")";
?>

Sign in to reply to this post
Did this help? Tips are appreciated...

atstech

Per Ray, this is the solution: Place this code directly above the recordset. Make sure the recordset has the WHERE clause, in my case WHERE active = '1'.

<?php
if ($WADbSearch1->whereClause) $WADbSearch1->whereClause = " AND (".substr($WADbSearch1->whereClause,3).")";
?>

Thank you Ray!

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...