close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Search behaviour - question about keyword

Thread begun 9/29/2009 2:26 am by lordmatrix | Last modified 10/01/2009 3:54 pm by Eric Mittman | 3059 views | 5 replies |

lordmatrix

Search behaviour - question about keyword

Let's say I have stored on database the following text: 9 F-347
How may I find the text above using one of the following search criteria? 9f347 or 9f or f34?

Thank you.

Sign in to reply to this post

Eric Mittman

Sorry it took so long to get back to you on this. I asked a colleague for help with this since it is not one I'm familiar with and he was able to help work out a solution which is this.

You will need to make use of the string replace function for MySQL within the query itself like this:

SELECT *
FROM products
WHERE REPLACE(REPLACE(products.ProductName,'-', ''),' ', '') LIKE '%f34%'

This example would is for a ProductName column in a products table. To use this approach with DataAssist Search you will need to adjust the code that is written to the page. Where the column is listed in the server behavior you should replace it with the replace like this:

original:

$WADbSearch1->addComparisonFromEdit("ProductName","S_custom","AND","Includes",0);



updated:

$WADbSearch1->addComparisonFromEdit("REPLACE(REPLACE(ProductName,'-', ''),' ', '')","S_custom","AND","Includes",0);



If you need further help implementing this please post back with the $WADbSearch1 line of code from your results page and I can show you how to implement it.

Sign in to reply to this post

lordmatrix

Hello Eric, thank you for your reply.

Actually the instructions provided are not working with my code.

I will try to indicate more details for a better understanding.

The codes below are an example of what king of data I have on products table:

W 706
9 F-347
GFE 101
SA-156-A
CE 213 A/2
CE 487 A/2
AC - 1001 - 01

as you can see, the codes stored in database include spaces, - and /. Those characters should be "removed" during the search but not from the search result.

Let's say I use this search criteria: AC1001
The search result should indicate the following result:
AC - 1001 - 01

Another search criteria example: CEA2
CE 213 A/2
CE 487 A/2

Another search criteria example: CE213A2
CE 213 A/2


In this way, more accurate is the search criteria, more accurate is the result without the risk to miss the code.

I also send you the SQL file with few table rows to speedy your testing, if you would like to:
mp_2009-09-30.sql.html

This is the query I have on page and the 2 lines generated from Data Assist Search Wizard:

$query_duxProdotti = "SELECT duxProdotti.id, duxAziende.azienda AS aziendaID, duxProdotti.codOriginale, duxProdotti.codMP FROM duxProdotti LEFT JOIN duxAziende ON duxProdotti.aziendaID = duxAziende.id";



$WADbSearch1->keywordComparison($KeyArr0,"".((isset($_POST["cod_originale"]))?$_POST["cod_originale"]:"")  ."","AND","Includes",",%20","%20","%22","%22",0);
$WADbSearch1->keywordComparison($KeyArr1,"".((isset($_POST["cod_mp"]))?$_POST["cod_mp"]:"") ."","OR","Includes",",%20","%20","%22","%22",0);
Sign in to reply to this post

Eric Mittman

How this is implemented will differ a little for a keyword type search. Instead of adding it into the $WADbSearch1->keywordComparison part of the code you would add it into the $KeyArr variable like this:

php:
$KeyArr1 = array("REPLACE(REPLACE(REPLACE(ItemName,'-', ''),' ', ''), '/', '')");



I added in the extra replace to account for the slash also. So if your column was named ItemName this is how the $KeyArr variable should look. If you have multiple instances of them then you will need to add this into each $KeyArr variable.

What this code is doing is looking for instances of a dash, a space, and a slash. If found it will replace them with an empty string. This will in effect allow your searches to be performed on the values minus these special chars. The results that are returned will be the same as they appear in the db. This adjustment is only for searching through the values.

Sign in to reply to this post

lordmatrix

Eric, thank you very much, it is working perfectly.

Sign in to reply to this post

Eric Mittman

You are very welcome, I would like to extend your thanks to Jason who was a big help finding all of this out and getting it implemented correctly.

Sign in to reply to this post

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