Jump to content

Seach facility repeating itself


keat

Recommended Posts

I've tried this on Mican and Foundation Skin.

Using the customer side search facility, when the results appear, and choosing the more option (Foundation) or additional pages on Mican, the original search duplicates its self.

So instead of getting additional products, I get the same 10 or so but now duplicated.

 

Since changing the skin back to Mican, It now presents me with mutiple pages, but nothing additional is displayed, just the same 10.

Link to comment
Share on other sites

7 minutes ago, Dirty Butter said:

My More option for search pagination using Foundation is working properly with 6.0.10.

I just tried again. On the foundation skin, I get the initial 12, then when i choose the more option, I get the initial 12, plus the same 12, and this repeats each time i choose more.

Back on the Mican skin, i just get the same 12 products despite which page i choose.

Link to comment
Share on other sites

I enabled debugging. when doing a search, I got loads of info, but this error at the end , if it means anything.

[1] 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AGAINST('cable ties' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS ' at line 1 [ERROR - CACHE WRITE]
[2] 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AGAINST('cable ties' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS ' at line 1 [ERROR - CACHE READ]
[3] 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AGAINST('cable ties' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS ' at line 1 [ERROR - CACHE READ]
[4] 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AGAINST('cable ties' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS ' at line 1 [ERROR - CACHE READ]

Link to comment
Share on other sites

[1] SHOW COLUMNS FROM CubeCart_sessions; -- (0.00114393234253 sec) [CACHE WRITE]
[2] SELECT SQL_CALC_FOUND_ROWS * FROM `CubeCart_sessions` WHERE CubeCart_sessions.session_id = '79601455b791ad3c7c3b1575045b5c61' LIMIT 1; -- (0.00049901008606 sec) [NOT CACHED]
[3] SELECT FOUND_ROWS() as Count; -- (0.000138998031616 sec) [NOT CACHED]
[4] SHOW COLUMNS FROM CubeCart_lang_strings; -- (0.000828981399536 sec) [CACHE WRITE]

 

 

Link to comment
Share on other sites

I wonder if that error might be a red herring.

I truncated cubecrt_sessions (after copying it).

I performed the search and pagination again (which still failed), checked the debug and that red error wasn't there.

Did the search and pagination thing again and the red error came back, so It may not be related to the initial problem ???

Closing the browser windows and reopening, there are no debug errors noted.

Perform just a search and get a notice.

 

[Notice] /home/xxxxxxx/public_html/classes/cubecart.class.php:746 - Undefined index: search[Notice] /home/xxxxxx/public_html/classes/catalogue.class.php:1538 - Undefined variable: order

 

Link to comment
Share on other sites

The SQl error listings certainly used to be keyed to the actual query that produced the error -- by query number. (I'll have to trace that out.)

Anyway, to help you find the faulting query, scroll to the top of the query listing, click once at the top of list, then enable your browser's Search mode (CTRL-F) and search for IN BOOLEAN MODE.

Link to comment
Share on other sites

I think I get it.

 

[28] SELECT I.*, MATCH () AGAINST('cable ties' IN BOOLEAN MODE) AS Relevance FROM CubeCart_inventory AS I LEFT JOIN (SELECT product_id, MAX(price) as price, MAX(sale_price) as sale_price FROM CubeCart_pricing_group WHERE group_id = 0 GROUP BY product_id) as G ON G.product_id = I.product_id WHERE I.product_id IN (SELECT product_id FROM `CubeCart_category_index` as CI INNER JOIN CubeCart_category as C where CI.cat_id = C.cat_id AND C.status = 1) AND I.status = 1 AND (MATCH () AGAINST('cable ties' IN BOOLEAN MODE)) >= 0.5 ORDER BY Relevance DESC LIMIT 12 OFFSET 0 -- (0.000381946563721 sec) [CACHE READ]
[29] SHOW INDEX FROM `CubeCart_inventory`; -- (0.000381946563721 sec) [CACHE READ]
[30] SHOW VARIABLES LIKE 'ft_min_word_len' -- (0.000381946563721 sec) [CACHE READ]

[31] SELECT I.* FROM CubeCart_inventory AS I LEFT JOIN (SELECT product_id, MAX(price) as price, MAX(sale_price) as sale_price FROM CubeCart_pricing_group WHERE group_id = 0 GROUP BY product_id) as G ON G.product_id = I.product_id WHERE I.product_id IN (SELECT product_id FROM `CubeCart_category_index` as CI INNER JOIN CubeCart_category as C where CI.cat_id = C.cat_id AND C.status = 1) AND I.status = 1 AND (I.name RLIKE '[[::]].*[[::]]' OR I.description RLIKE '[[::]].*[[::]]' OR I.product_code RLIKE '[[::]].*[[::]]') LIMIT 12 OFFSET 0 -- (0.0808041095734 sec) [CACHE WRITE]
[32] SELECT I.* FROM CubeCart_inventory AS I LEFT JOIN (SELECT product_id, MAX(price) as price, MAX(sale_price) as sale_price FROM CubeCart_pricing_group WHERE group_id = 0 GROUP BY product_id) as G ON G.product_id = I.product_id WHERE I.product_id IN (SELECT product_id FROM `CubeCart_category_index` as CI INNER JOIN CubeCart_category as C where CI.cat_id = C.cat_id AND C.status = 1) AND I.status = 1 AND (I.name RLIKE '[[::]].*[[::]]' OR I.description RLIKE '[[::]].*[[::]]' OR I.product_code RLIKE '[[::]].*[[::]]') -- (0.413107872009 sec) [CACHE WRITE]
[33] SHOW COLUMNS FROM CubeCart_pricing_quantity; -- (0.00091290473938 sec) [CACHE WRITE]
[34] SELECT `quantity`, `price` FROM `CubeCart_pricing_quantity` WHERE CubeCart_pricing_quantity.product_id = '4898' AND CubeCart_pricing_quantity.group_id = '0' ORDER BY `quantity` ASC, `price` ASC ; -- (0.00091290473938 sec) [CACHE READ]
[35] SHOW COLUMNS FROM CubeCart_image_index; -- (0.000530004501343 sec) [CACHE WRITE]
[36] SELECT SQL_CALC_FOUND_ROWS * FROM `CubeCart_image_index` WHERE CubeCart_image_index.product_id = '4898' ORDER BY `main_img` DESC LIMIT 1; -- (0.000303030014038 sec) [CACHE WRITE]
[37] SELECT FOUND_ROWS() as Count; -- (0.000105142593384 sec) [NOT CACHED]

 

Link to comment
Share on other sites

This empty MATCH () is not good. What is supposed to be inside the parenthesis is what the database table has for a FullTextIndex.

When the database was setup (or properly upgraded), there was a FULLTEXT KEY of `fulltext` assigned to a combination of the 'product_code', 'description', and 'name' columns. This makes searching much faster.

So, either the Database->getFullTextIndex() is malfunctioning, or the database table CubeCart_inventory got damaged so as to have lost the FULLTEXT named fulltext.

Please verify this by having an external utility such as phpMyAdmin examine the table's schema details.

Link to comment
Share on other sites

Not having a FULLTEXT index is not a faulty thing. So, a check, analyze, and repair would not consider not having a FULLTEXT index something to report on.

Please verify the table structure by using an external utility such as phpMyAdmin to examine the table's schema details.

Link to comment
Share on other sites

Having phpMySQL showing you a list of the tables, there should be, on each row, a tool button to show you an overview of the table. Or at least a button to show you a CREATE statement that could be used to recreate the table if necessary. The table you are interested in is the CubeCart_inventory table.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...