X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing design (https://forum.x-cart.com/forumdisplay.php?f=51)
-   -   Getting Quick Search to do Whole Word Searches (https://forum.x-cart.com/showthread.php?t=60085)

xcart-dev 07-05-2011 11:59 PM

Getting Quick Search to do Whole Word Searches
 
I've been looking around for an answer to this but can't seem to find one.

You can set the search results to be for 'any', 'all' or the exact phrase. What I need is to set the search to be the exact phrase and a whole word.

In php this would be
PHP Code:

if (preg_match("/\b$search_string\b/i"$database_output)) 

which results in a case insensitive result but only for whole words.

Now there must be somewhere in X-Carts many files where I can take the search result and change it into a 'whole word' requirement. This is important for part numbers such as the following:
Searching "EC-22" should only show up part number EC-22, not part number EC-22542.

Any suggestions how and where ... ?

cflsystems 07-06-2011 04:22 AM

Re: Getting Quick Search to do Whole Word Searches
 
include/search.php

xcart-dev 07-06-2011 09:39 AM

Re: Getting Quick Search to do Whole Word Searches
 
It was indeed include.search.php.

For anyone who stumbles on this thread I wanted to have whole word matches but only in the extra fields. So I changed:

Code:

foreach ($data['extra_fields'] as $k => $v) {
$condition[] = '(' . $sql_tbl['extra_field_values'] . '.value LIKE \'%' . $data['substring'] . '%\' AND ' . $sql_tbl['extra_fields'] . '.fieldid = \'' . $k . '\')';
            }


To:
Code:

foreach ($data['extra_fields'] as $k => $v) {
$condition[] = '(' . $sql_tbl['extra_field_values'] . '.value REGEXP \'[[:<:]]' . $data['substring'] . '[[:>:]]\' AND ' . $sql_tbl['extra_fields'] . '.fieldid = \'' . $k . '\')';
            }


The Regexp now demands that only whole words are found rather than words 'like'


All times are GMT -8. The time now is 06:42 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.