Re: [PHP-DB] Searching shopping cart

[email protected] (Chris)
Newsgroups php.db
Message-ID <[email protected]>
Ron Piggott wrote:
> Someone referred me to:
> 
> http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html 
> 
> Does this look like I am on the right track?
> 
> Ron
> 
> SELECT MATCH(shopping_cart_product.product_description,
> shopping_cart_product.product_name) AGAINST ('$keyword') as Relevance
> FROM ( shopping_cart_category INNER JOIN shopping_cart_product ON
> shopping_cart_category.reference =
> shopping_cart_product.category_reference ) INNER JOIN
> shopping_cart_product_image ON
> shopping_cart_product_image.product_reference =
> shopping_cart_product.reference INNER JOIN shopping_cart_inventory ON
> shopping_cart_inventory.product_reference =
> shopping_cart_product.reference WHERE MATCH
> (shopping_cart_product.product_description,
> shopping_cart_product.product_name) AGAINST('$keyword' IN BOOLEAN MODE)
> HAVING Relevance > 0.2 ORDER
> BY Relevance DESC

My first suggestion :) Use table aliases.

Instead of:

shopping_cart_category inner join shopping_cart_product

do

shopping_cart_category cat inner join shopping_cart_product prod

and so on (give them all a short name), so then your query becomes a
little easier to read:

select match(prod.product_description, prod.product_name) ....

http://dev.mysql.com/doc/refman/5.0/en/join.html


Secondly - do you need to do all of those joins to do a keyword search?
If you're searching a particular category, then include that category
limitation. If you're not, don't include it - the database will do less
work. Same for images etc.

It looks like you're on the right track though.

-- 
Postgresql & php tutorials
http://www.designmagick.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.